├── .github └── workflows │ └── build.yaml ├── .gitignore ├── LICENSE ├── README.md ├── devnet ├── vitosha-3 │ └── currencies.json └── vitosha-7 │ ├── protocols │ ├── neutron-astroport-usdc_axelar.json │ ├── osmosis-osmosis-osmo.json │ └── osmosis-osmosis-usdc_axelar.json │ └── topology.json ├── genesis-validators.md ├── images ├── brand-resources │ ├── nolus_logo_element.svg │ ├── nolus_logo_horizontal.svg │ └── nolus_logo_horizontal_invert.svg ├── nolus.png └── nolus.svg ├── mainnet └── pirin-1 │ ├── addrbook.json │ ├── currencies.json │ ├── dao │ └── NOLUS-DAO-GOVERNANCE-TERMS_v1.0.pdf │ ├── genesis.json │ ├── gentxs │ ├── 01node.json │ ├── PPNV.json │ ├── Stakecito-gentx.json │ ├── gentx-Allnodes.json │ ├── gentx-ArchitectNodes.json │ ├── gentx-AutonomyCapital.json │ ├── gentx-B-Harvest.json │ ├── gentx-BwareLabs.json │ ├── gentx-CryptoChemistry.json │ ├── gentx-DOUBLETOP.json │ ├── gentx-Dora-Factory-PGS.json │ ├── gentx-Enigma.json │ ├── gentx-NacionCrypto-Parceros.json │ ├── gentx-Notional.json │ ├── gentx-P-OPS Team.json │ ├── gentx-Qubelabs.json │ ├── gentx-Stakewolle.json │ ├── gentx-ValidatorRun.json │ ├── gentx-citadelone.json │ ├── gentx-crosnest.json │ ├── gentx-cryptocrew-validators.json │ ├── gentx-everstake.json │ ├── gentx-forbole.json │ ├── gentx-frens.json │ ├── gentx-gt-capital.json │ ├── gentx-imperator.json │ ├── gentx-kingnodes.json │ ├── gentx-kjnodes.json │ ├── gentx-lavenderfive.json │ ├── gentx-nodex.json │ ├── gentx-stakingcabin.json │ ├── gentx-strangelove.json │ ├── gentx-swiss-staking.json │ ├── gentx-w3coins.json │ └── nodesguru.json │ ├── protocols │ ├── neutron-astroport-usdc_axelar.json │ ├── neutron-astroport-usdc_noble.json │ ├── osmosis-osmosis-akt.json │ ├── osmosis-osmosis-all_btc.json │ ├── osmosis-osmosis-all_sol.json │ ├── osmosis-osmosis-atom.json │ ├── osmosis-osmosis-inj.json │ ├── osmosis-osmosis-osmo.json │ ├── osmosis-osmosis-st_atom.json │ ├── osmosis-osmosis-usdc_axelar.json │ └── osmosis-osmosis-usdc_noble.json │ └── topology.json ├── peers-mainnet.md ├── testnet ├── nolus-rila │ ├── README.md │ ├── build-image.sh │ ├── currencies.json │ ├── docker-node.sh │ ├── genesis.json │ ├── nolus_node.Dockerfile │ ├── persistent_peers.txt │ └── version.md ├── rila-1 │ ├── currencies.json │ ├── genesis.json │ └── peers.txt ├── rila-2 │ ├── currencies.json │ ├── genesis.json │ └── peers.txt └── rila-3 │ ├── currencies.json │ ├── genesis.json │ ├── peers.txt │ ├── protocols │ ├── neutron-astroport-usdc_axelar.json │ ├── osmosis-osmosis-osmo.json │ └── osmosis-osmosis-usdc_axelar.json │ └── topology.json └── topology.md /.github/workflows/build.yaml: -------------------------------------------------------------------------------- 1 | name: "Build protocol" 2 | 3 | defaults: 4 | run: 5 | shell: "sh" 6 | 7 | on: 8 | workflow_dispatch: 9 | inputs: 10 | network-group: 11 | description: "Network's group" 12 | type: "choice" 13 | options: 14 | - "dev" 15 | - "main" 16 | - "test" 17 | required: true 18 | network: 19 | description: "Network's name" 20 | type: "string" 21 | required: true 22 | protocol: 23 | description: "Protocol" 24 | type: "string" 25 | required: true 26 | release: 27 | description: "Smart contracts release" 28 | type: "string" 29 | required: true 30 | 31 | env: 32 | profile: |- 33 | ${{ ((inputs.network-group == 'dev' || inputs.network-group == 'test') && 'test-net') || (inputs.network-group == 'main' && 'production-net') || 'N/A' }} 34 | 35 | run-name: |- 36 | ${{ inputs.network-group }} / ${{ inputs.network }} / ${{ inputs.protocol }} / ${{ inputs.release }} 37 | 38 | jobs: 39 | report-arguments: 40 | name: "Report workflow arguments" 41 | runs-on: "ubuntu-latest" 42 | env: 43 | network_group: |- 44 | ${{ inputs.network-group }} 45 | network: |- 46 | ${{ inputs.network }} 47 | protocol: |- 48 | ${{ inputs.protocol }} 49 | release: |- 50 | ${{ inputs.release }} 51 | steps: 52 | - run: |- 53 | set -eu 54 | 55 | "echo" \ 56 | "\ 57 | Argument | Value 58 | ------------------|------ 59 | Network Group | ${network_group:?} 60 | Network Name | ${network:?} 61 | Protocol Name | ${protocol:?} 62 | Contracts Release | ${release:?} 63 | Build Profile | ${profile:?}" \ 64 | >>"${GITHUB_STEP_SUMMARY:?}" 65 | build-protocol: 66 | name: "Build protocol" 67 | needs: 68 | - "report-arguments" 69 | runs-on: "ubuntu-latest" 70 | env: 71 | topology_json: |- 72 | ${{ inputs.network-group }}net/${{ inputs.network }}/topology.json 73 | protocol_json: |- 74 | ${{ inputs.network-group }}net/${{ inputs.network }}/protocols/${{ inputs.protocol }}.json 75 | steps: 76 | - uses: "actions/checkout@v4" 77 | with: 78 | sparse-checkout: |- 79 | ${{ env.topology_json }} 80 | ${{ env.protocol_json }} 81 | - run: |- 82 | set -eu 83 | 84 | "mkdir" "./build-configuration/" 85 | 86 | "cp" \ 87 | "${topology_json:?}" \ 88 | "./build-configuration/topology.json" 89 | 90 | "cp" \ 91 | "${protocol_json:?}" \ 92 | "./build-configuration/protocol.json" 93 | - env: 94 | url: |- 95 | https://github.com/${{ github.repository_owner }}/nolus-money-market/releases/download/${{ inputs.release }}/protocol-builder.tar.gz 96 | run: |- 97 | set -eu 98 | 99 | "wget" \ 100 | --output-document="protocol-builder.tar.gz" \ 101 | "${url:?}" 102 | - run: |- 103 | "gunzip" "protocol-builder.tar.gz" 104 | - run: |- 105 | "docker" \ 106 | "image" \ 107 | "load" \ 108 | --input "protocol-builder.tar" 109 | - run: |- 110 | "mkdir" "./artifacts/" 111 | - env: 112 | network: |- 113 | ${{ inputs.network }} 114 | protocol: |- 115 | ${{ inputs.protocol }} 116 | run: |- 117 | set -eu 118 | 119 | revision="$("git" "rev-parse" "HEAD")" 120 | 121 | "docker" \ 122 | "container" \ 123 | "run" \ 124 | --env "CHECK_DEPENDENCIES_UPDATED=false" \ 125 | --env "PROTOCOL_NETWORK=${network:?}" \ 126 | --env "PROTOCOL_NAME=${protocol:?}" \ 127 | --env "PROTOCOL_RELEASE_ID=${revision:?}" \ 128 | --tty \ 129 | --volume "./artifacts/:/artifacts/:rw" \ 130 | --volume "./build-configuration/:/build-configuration/:ro" \ 131 | "protocol-builder" \ 132 | "${profile:?}" 133 | - uses: "actions/upload-artifact@v4" 134 | with: 135 | if-no-files-found: "error" 136 | name: |- 137 | ${{ inputs.network-group }}--${{ inputs.network }}--${{ inputs.protocol }}--${{ inputs.release }} 138 | path: |- 139 | ./artifacts/* 140 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Nolus-networks 2 | 3 | This repo contains instructions for genesis validators to create genesis 4 | staking transactions (gentxs) to start the Nolus network. 5 | 6 | The relevant instructions can be found in 7 | [genesis-validators.md](genesis-validators.md) 8 | 9 | Further instructions will be added after May 19th, the final day to 10 | submit gentxs. 11 | 12 | 13 | ## May 23rd 2023 14 | 15 | pirin-1 genesis.json is now available on mainnet/pirin-1/genesis.json 16 | -------------------------------------------------------------------------------- /devnet/vitosha-3/currencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "networks": { 3 | "list": { 4 | "NOLUS": { 5 | "currencies": { 6 | "NLS": { 7 | "native": { 8 | "name": "Nolus", 9 | "symbol": "unls", 10 | "ticker": "NLS", 11 | "decimal_digits": "6" 12 | } 13 | } 14 | } 15 | }, 16 | "OSMOSIS": { 17 | "currencies": { 18 | "OSMO": { 19 | "native": { 20 | "name": "Osmosis OSMO", 21 | "symbol": "uosmo", 22 | "ticker": "OSMO", 23 | "decimal_digits": "6" 24 | }, 25 | "icon": "https://nolus.io/currencies/osmosis-osmo.svg" 26 | }, 27 | "USDC_AXELAR": { 28 | "ibc": { 29 | "network": "AXELAR", 30 | "currency": "USDC" 31 | }, 32 | "icon": "https://nolus.io/currencies/osmosis-usdc.svg" 33 | }, 34 | "ATOM": { 35 | "ibc": { 36 | "network": "COSMOS_HUB", 37 | "currency": "ATOM" 38 | }, 39 | "icon": "https://nolus.io/currencies/osmosis-atom.svg" 40 | }, 41 | "NLS": { 42 | "ibc": { 43 | "network": "NOLUS", 44 | "currency": "NLS" 45 | }, 46 | "icon": "https://nolus.io/currencies/osmosis-nls.svg" 47 | }, 48 | "AKT": { 49 | "ibc": { 50 | "network": "AKASH", 51 | "currency": "AKT" 52 | }, 53 | "icon": "https://nolus.io/currencies/osmosis-akt.svg" 54 | }, 55 | "JUNO": { 56 | "ibc": { 57 | "network": "JUNO", 58 | "currency": "JUNO" 59 | }, 60 | "icon": "https://nolus.io/currencies/osmosis-juno.svg" 61 | } 62 | }, 63 | "amm_pools": [ 64 | { 65 | "id": "12", 66 | "token_0": "ATOM", 67 | "token_1": "OSMO" 68 | }, 69 | { 70 | "id": "5", 71 | "token_0": "OSMO", 72 | "token_1": "USDC_AXELAR" 73 | }, 74 | { 75 | "id": "229", 76 | "token_0": "NLS", 77 | "token_1": "USDC_AXELAR" 78 | }, 79 | { 80 | "id": "18", 81 | "token_0": "AKT", 82 | "token_1": "OSMO" 83 | } 84 | ] 85 | }, 86 | "AXELAR": { 87 | "currencies": { 88 | "USDC": { 89 | "native": { 90 | "name": "Usdc", 91 | "symbol": "uausdc", 92 | "ticker": "USDC", 93 | "decimal_digits": "6" 94 | } 95 | } 96 | } 97 | }, 98 | "COSMOS_HUB": { 99 | "currencies": { 100 | "ATOM": { 101 | "native": { 102 | "name": "Cosmos Hub ATOM", 103 | "symbol": "uatom", 104 | "ticker": "ATOM", 105 | "decimal_digits": "6" 106 | } 107 | } 108 | } 109 | }, 110 | "AKASH": { 111 | "currencies": { 112 | "AKT": { 113 | "native": { 114 | "name": "Akash", 115 | "symbol": "uakt", 116 | "ticker": "AKT", 117 | "decimal_digits": "6" 118 | } 119 | } 120 | } 121 | }, 122 | "JUNO": { 123 | "currencies": { 124 | "JUNO": { 125 | "native": { 126 | "name": "Juno", 127 | "symbol": "ujunox", 128 | "ticker": "JUNO", 129 | "decimal_digits": "6" 130 | } 131 | } 132 | } 133 | }, 134 | "NEUTRON": { 135 | "currencies": { 136 | "NTRN": { 137 | "native": { 138 | "name": "Neutron", 139 | "symbol": "untrn", 140 | "ticker": "NTRN", 141 | "decimal_digits": "6" 142 | }, 143 | "icon": "https://nolus.io/currencies/neutron-ntrn.svg" 144 | }, 145 | "USDC_AXELAR": { 146 | "ibc": { 147 | "network": "AXELAR", 148 | "currency": "USDC" 149 | }, 150 | "icon": "https://nolus.io/currencies/neutron-usdc.svg" 151 | }, 152 | "ATOM": { 153 | "ibc": { 154 | "network": "COSMOS_HUB", 155 | "currency": "ATOM" 156 | }, 157 | "icon": "https://nolus.io/currencies/neutron-atom.svg" 158 | }, 159 | "NLS": { 160 | "ibc": { 161 | "network": "NOLUS", 162 | "currency": "NLS" 163 | }, 164 | "icon": "https://nolus.io/currencies/neutron-nls.svg" 165 | } 166 | }, 167 | "amm_pools": [ 168 | { 169 | "id": "", 170 | "token_0": "NTRN", 171 | "token_1": "USDC_AXELAR" 172 | }, 173 | { 174 | "id": "", 175 | "token_0": "ATOM", 176 | "token_1": "USDC_AXELAR" 177 | }, 178 | { 179 | "id": "", 180 | "token_0": "NTRN", 181 | "token_1": "NLS" 182 | } 183 | ] 184 | } 185 | }, 186 | "channels": [ 187 | { 188 | "a": { 189 | "network": "NOLUS", 190 | "ch": "channel-0" 191 | }, 192 | "b": { 193 | "network": "OSMOSIS", 194 | "ch": "channel-1636" 195 | } 196 | }, 197 | { 198 | "a": { 199 | "network": "OSMOSIS", 200 | "ch": "channel-3" 201 | }, 202 | "b": { 203 | "network": "AXELAR", 204 | "ch": "channel-227" 205 | } 206 | }, 207 | { 208 | "a": { 209 | "network": "OSMOSIS", 210 | "ch": "channel-73" 211 | }, 212 | "b": { 213 | "network": "AKASH", 214 | "ch": "channel-1" 215 | } 216 | }, 217 | { 218 | "a": { 219 | "network": "COSMOS_HUB", 220 | "ch": "channel-2500" 221 | }, 222 | "b": { 223 | "network": "OSMOSIS", 224 | "ch": "channel-12" 225 | } 226 | }, 227 | { 228 | "a": { 229 | "network": "OSMOSIS", 230 | "ch": "channel-1" 231 | }, 232 | "b": { 233 | "network": "JUNO", 234 | "ch": "channel-190" 235 | } 236 | }, 237 | { 238 | "a": { 239 | "network": "NOLUS", 240 | "ch": "channel-116" 241 | }, 242 | "b": { 243 | "network": "NEUTRON", 244 | "ch": "channel-209" 245 | } 246 | }, 247 | { 248 | "a": { 249 | "network": "NEUTRON", 250 | "ch": "channel-8" 251 | }, 252 | "b": { 253 | "network": "AXELAR", 254 | "ch": "channel-237" 255 | } 256 | }, 257 | { 258 | "a": { 259 | "network": "NEUTRON", 260 | "ch": "channel-1" 261 | }, 262 | "b": { 263 | "network": "COSMOS_HUB", 264 | "ch": "channel-16" 265 | } 266 | } 267 | ] 268 | }, 269 | "protocols": { 270 | "osmosis_axlusdc": { 271 | "DexNetwork": "OSMOSIS", 272 | "Lpn": { 273 | "dex_currency": "USDC_AXELAR" 274 | }, 275 | "Lease": { 276 | "ATOM": { 277 | "dex_currency": "ATOM", 278 | "swap_routes": [ 279 | [ 280 | { 281 | "pool_id": "12", 282 | "pool_token": "OSMO" 283 | }, 284 | { 285 | "pool_id": "5", 286 | "pool_token": "USDC_AXELAR" 287 | } 288 | ] 289 | ] 290 | }, 291 | "OSMO": { 292 | "dex_currency": "OSMO", 293 | "swap_routes": [ 294 | [ 295 | { 296 | "pool_id": "5", 297 | "pool_token": "USDC_AXELAR" 298 | } 299 | ] 300 | ] 301 | }, 302 | "AKT": { 303 | "dex_currency": "AKT", 304 | "swap_routes": [ 305 | [ 306 | { 307 | "pool_id": "18", 308 | "pool_token": "OSMO" 309 | }, 310 | { 311 | "pool_id": "5", 312 | "pool_token": "USDC_AXELAR" 313 | } 314 | ] 315 | ] 316 | }, 317 | "JUNO": { 318 | "dex_currency": "JUNO", 319 | "swap_routes": [ 320 | [ 321 | { 322 | "pool_id": "3", 323 | "pool_token": "OSMO" 324 | }, 325 | { 326 | "pool_id": "5", 327 | "pool_token": "USDC_AXELAR" 328 | } 329 | ] 330 | ] 331 | } 332 | }, 333 | "Native": { 334 | "dex_currency": "NLS", 335 | "swap_routes": [ 336 | [ 337 | { 338 | "pool_id": "229", 339 | "pool_token": "USDC_AXELAR" 340 | } 341 | ] 342 | ] 343 | } 344 | }, 345 | "astroport_axlusdc": { 346 | "DexNetwork": "NEUTRON", 347 | "Lpn": { 348 | "dex_currency": "USDC_AXELAR" 349 | }, 350 | "Lease": { 351 | "ATOM": { 352 | "dex_currency": "ATOM", 353 | "swap_routes": [ 354 | [ 355 | { 356 | "pool_id": "", 357 | "pool_token": "USDC_AXELAR" 358 | } 359 | ] 360 | ] 361 | }, 362 | "NTRN": { 363 | "dex_currency": "NTRN", 364 | "swap_routes": [ 365 | [ 366 | { 367 | "pool_id": "", 368 | "pool_token": "USDC_AXELAR" 369 | } 370 | ] 371 | ] 372 | } 373 | }, 374 | "Native": { 375 | "dex_currency": "NLS", 376 | "swap_routes": [ 377 | [ 378 | { 379 | "pool_id": "", 380 | "pool_token": "NTRN" 381 | }, 382 | { 383 | "pool_id": "", 384 | "pool_token": "USDC_AXELAR" 385 | } 386 | ] 387 | ] 388 | } 389 | } 390 | }, 391 | "definitions": [ 392 | "This is the descriptor of the network topology, currencies and their usage at the Nolus AMM protocol.", 393 | "", 394 | "The network topology is represented as a collection of networks and the ICS-20 transfer channels that connect them.", 395 | "Some networks may have DEX services available. Their description contain the pools of interest for the Nolus AMM protocol.", 396 | "", 397 | "On a given network, each currency is identified by its 'ticker'. A currency with ticker NLS on a network NOLUS is required.", 398 | "The Nolus network description should not contain other currencies. They are defined in the 'protocols' object.", 399 | "", 400 | "A currency is either native or ibc on a network. In the latter case it points to the 'burning' currency residing at a network", 401 | "that is at one hop distance. In the former case it is described with name, symbol and number of decimal digits.", 402 | "", 403 | "The 'name' is a human-readable description of the currency", 404 | "", 405 | "The 'symbol' is the base denomination of the currency at its native chain.", 406 | "", 407 | "The 'decimal_digits' value represents the number of decimal digits this denomination has.", 408 | "For example, '6' for OSMO means 10^8 units of its base denomination uosmo are equal to 1 OSMO", 409 | "", 410 | "The 'icon' is an optional currency attribute that provides a visual representation of the currency at that network and the others", 411 | "where the currency might be sent over ibc. In other workds, if there is no icon attribute of an ibc originating currency then ", 412 | "the icon is derived from the network and currency it points to. This might be applied multiple times traversing the ibc path ", 413 | "toward its native network.", 414 | "", 415 | "The currency symbol at a given network is either equal to the currency 'symbol' if it is a native for that network, or ", 416 | "'ibc/' + sha256('transfer' + '/' + ch[0] + '/' + ... + 'transfer' + '/' + ch[k] + '/' + symbol) if it is a native on ", 417 | "network 'K' reachable through a sequence of channels with names 'ch[0]', 'ch[1]' ... 'ch[k]' at their minting side.", 418 | "More info is available [here](https://github.com/cosmos/ibc-go/blob/c86d27fc280cfb342a9e4689b381e5823441b694/modules/apps/transfer/types/trace.go#L19).", 419 | "", 420 | "The usage of the currencies at the Nolus AMM protocol is described with a dictionary of 'protocols' JSON objects", 421 | "The key has the structure _. The first property of a protocol, 'DexNetwork', is the name of the network it operates on.", 422 | "Each currency is classified as either Lpn, Lease or Native. Lpn contains the Lpp currencies. Lease currencies are the ones ", 423 | "customers may open lease in. Native defines the native currency for the Nolus AMM protocol.", 424 | "Leases may be paid with any of the provided currencies.", 425 | "", 426 | "Each of the currencies should provide in the 'swap_routes' array a separate swapping route to each of the Lpn currencies.", 427 | "That holds true for the Lpn currencies, for example, if there are three Lpn items then each of them should provide two paths, ", 428 | "each ending to some of the other currency", 429 | "Routes should refer to pools at the closest DEX common for the currency and its Lpn. Nolus AMM uses the swapping routes ", 430 | "to obtain prices and order swap transactions.", 431 | "Please note, that some pools may not be limited to operate only on two currencies, therefore DEX APIs and", 432 | "Nolus AMM swapping routes always specify the target currency within the pool." 433 | ] 434 | } 435 | -------------------------------------------------------------------------------- /devnet/vitosha-7/protocols/neutron-astroport-usdc_axelar.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "astroport", 3 | "dex_network": "NEUTRON", 4 | "lpn_ticker": "USDC_AXELAR", 5 | "stable_currency_ticker": "USDC_AXELAR", 6 | "lease_currencies_tickers": [ 7 | "ATOM", 8 | "NTRN" 9 | ], 10 | "payment_only_currencies_tickers": [], 11 | "swap_pairs": { 12 | "USDC_AXELAR": [ 13 | "ATOM", 14 | "NTRN" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /devnet/vitosha-7/protocols/osmosis-osmosis-osmo.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "OSMO", 5 | "stable_currency_ticker": "USDC_AXELAR", 6 | "lease_currencies_tickers": [ 7 | "USDC_AXELAR" 8 | ], 9 | "payment_only_currencies_tickers": [ 10 | "ATOM" 11 | ], 12 | "swap_pairs": { 13 | "OSMO": [ 14 | "ATOM", 15 | "USDC_AXELAR" 16 | ], 17 | "USDC_AXELAR": [ 18 | "NLS" 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /devnet/vitosha-7/protocols/osmosis-osmosis-usdc_axelar.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "USDC", 5 | "stable_currency_ticker": "USDC", 6 | "lease_currencies_tickers": [ 7 | "AKT", 8 | "ATOM", 9 | "JUNO", 10 | "OSMO", 11 | "WBTC", 12 | "WETH" 13 | ], 14 | "payment_only_currencies_tickers": [], 15 | "swap_pairs": { 16 | "OSMO": [ 17 | "ATOM" 18 | ], 19 | "USDC": [ 20 | "OSMO" 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /devnet/vitosha-7/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "host_network": { 3 | "name": "NOLUS", 4 | "currency": { 5 | "id": "NLS", 6 | "native": { 7 | "name": "Nolus", 8 | "symbol": "unls", 9 | "decimal_digits": 6 10 | } 11 | } 12 | }, 13 | "networks": { 14 | "AKASH": { 15 | "currencies": { 16 | "AKT": { 17 | "native": { 18 | "name": "Akash", 19 | "symbol": "uakt", 20 | "decimal_digits": 6 21 | } 22 | } 23 | } 24 | }, 25 | "AXELAR": { 26 | "currencies": { 27 | "USDC": { 28 | "native": { 29 | "name": "Axelar USDC", 30 | "symbol": "uausdc", 31 | "decimal_digits": 6 32 | } 33 | }, 34 | "WBTC": { 35 | "native": { 36 | "name": "WBTC", 37 | "symbol": "btc-satoshi", 38 | "decimal_digits": 8 39 | } 40 | }, 41 | "WETH": { 42 | "native": { 43 | "name": "WETH", 44 | "symbol": "eth-wei", 45 | "decimal_digits": 18 46 | } 47 | } 48 | } 49 | }, 50 | "COSMOS_HUB": { 51 | "currencies": { 52 | "ATOM": { 53 | "native": { 54 | "name": "Cosmos Hub ATOM", 55 | "symbol": "uatom", 56 | "decimal_digits": 6 57 | } 58 | } 59 | } 60 | }, 61 | "JUNO": { 62 | "currencies": { 63 | "JUNO": { 64 | "native": { 65 | "name": "Juno", 66 | "symbol": "ujunox", 67 | "decimal_digits": 6 68 | } 69 | } 70 | } 71 | }, 72 | "NEUTRON": { 73 | "currencies": { 74 | "ATOM": { 75 | "ibc": { 76 | "network": "COSMOS_HUB", 77 | "currency": "ATOM" 78 | }, 79 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-atom.svg" 80 | }, 81 | "NLS": { 82 | "ibc": { 83 | "network": "NOLUS", 84 | "currency": "NLS" 85 | }, 86 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-nls.svg" 87 | }, 88 | "NTRN": { 89 | "native": { 90 | "name": "Neutron", 91 | "symbol": "untrn", 92 | "decimal_digits": 6 93 | }, 94 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-ntrn.svg" 95 | }, 96 | "USDC_AXELAR": { 97 | "ibc": { 98 | "network": "AXELAR", 99 | "currency": "USDC" 100 | }, 101 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-usdc.svg" 102 | } 103 | }, 104 | "dexes": { 105 | "astroport": { 106 | "type": "astroport_test" 107 | } 108 | } 109 | }, 110 | "OSMOSIS": { 111 | "currencies": { 112 | "AKT": { 113 | "ibc": { 114 | "network": "AKASH", 115 | "currency": "AKT" 116 | }, 117 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-akt.svg" 118 | }, 119 | "ATOM": { 120 | "ibc": { 121 | "network": "COSMOS_HUB", 122 | "currency": "ATOM" 123 | }, 124 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-atom.svg" 125 | }, 126 | "JUNO": { 127 | "ibc": { 128 | "network": "JUNO", 129 | "currency": "JUNO" 130 | }, 131 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-juno.svg" 132 | }, 133 | "NLS": { 134 | "ibc": { 135 | "network": "NOLUS", 136 | "currency": "NLS" 137 | }, 138 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-nls.svg" 139 | }, 140 | "OSMO": { 141 | "native": { 142 | "name": "Osmosis OSMO", 143 | "symbol": "uosmo", 144 | "decimal_digits": 6 145 | }, 146 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-osmo.svg" 147 | }, 148 | "USDC": { 149 | "ibc": { 150 | "network": "AXELAR", 151 | "currency": "USDC" 152 | }, 153 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-usdc.svg" 154 | }, 155 | "USDC_AXELAR": { 156 | "ibc": { 157 | "network": "AXELAR", 158 | "currency": "USDC" 159 | }, 160 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-usdc.svg" 161 | }, 162 | "WBTC": { 163 | "ibc": { 164 | "network": "AXELAR", 165 | "currency": "WBTC" 166 | }, 167 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-wbtc.svg" 168 | }, 169 | "WETH": { 170 | "ibc": { 171 | "network": "AXELAR", 172 | "currency": "WETH" 173 | }, 174 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-weth.svg" 175 | } 176 | }, 177 | "dexes": { 178 | "osmosis": { 179 | "type": "osmosis" 180 | } 181 | } 182 | } 183 | }, 184 | "channels": { 185 | "NEUTRON": { 186 | "AXELAR": "channel-8", 187 | "COSMOS_HUB": "channel-1", 188 | "NOLUS": "channel-1035" 189 | }, 190 | "NOLUS": { 191 | "NEUTRON": "channel-3", 192 | "OSMOSIS": "channel-0" 193 | }, 194 | "OSMOSIS": { 195 | "AKASH": "channel-73", 196 | "AXELAR": "channel-3", 197 | "COSMOS_HUB": "channel-12", 198 | "JUNO": "channel-1", 199 | "NOLUS": "channel-8244" 200 | } 201 | } 202 | } 203 | -------------------------------------------------------------------------------- /genesis-validators.md: -------------------------------------------------------------------------------- 1 | # Setting Up a Nolus Genesis Validator 2 | ​ 3 | Thank you for becoming a genesis validator on Nolus! This guide will 4 | provide instructions on setting up a node, submitting a gentx, and other 5 | tasks needed to participate in the launch of the Nolus Pirin mainnet. 6 | ​ 7 | The primary point of communication for the genesis process and future 8 | updates will be the \#genesis-validators on the [Nolus Discord](https://discord.com/invite/nolus-protocol). 9 | ​ 10 | Some important notes on joining as a genesis validator: 11 | ​ 12 | 1. **Please try to submit your gentxs by the End of Day UTC on May 19.** 13 | 2. To be a genesis validator, you must have NLS at genesis. Investors, advisors, participants in community-building incentivized campaigns will have some at genesis assigned to the addresses they have provided. 14 | The rest of the submitted genesis validator addresses will receive a small amount of NLS tokens. 15 | ​ 16 | ## Hardware 17 | ​ 18 | The recommended hardware to run a Nolus validating node is: 19 | ​ 20 | - 4+ physical CPUs 21 | - 16+ GB RAM 22 | - 240+ GB SSD 23 | - At least 100 mbps network bandwidth 24 | ​ 25 | As the network grows, it might be necessary to adjust some of the components above. 26 | ​ 27 | ## Instructions 28 | ​ 29 | These instructions are written targeting an Ubuntu 22.04 LTS system. 30 | If you are using a different operating system, you might need to adjust the commands you will see. 31 | ​ 32 | ### Install Go 33 | ​ 34 | Nolus is built using Go and requires Go version 1.19. In this 35 | example, we will be installing Go on the above Ubuntu 22.04. You can skip this step if you have this already: 36 | ​ 37 | ``` {.sh} 38 | # Remove any existing Go installation if you are not on Go 1.19 39 | sudo rm -rf /usr/local/go 40 | ​ 41 | # Download and Install the desired version of Go 42 | wget https://go.dev/dl/go1.19.4.linux-amd64.tar.gz 43 | tar -C /usr/local -xzf go1.19.4.linux-amd64.tar.gz 44 | ​ 45 | # Update environment variables to include go 46 | cat <<'EOF' >>$HOME/.profile 47 | export GOROOT=/usr/local/go 48 | export GOPATH=$HOME/go 49 | export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin 50 | EOF 51 | source $HOME/.profile 52 | ``` 53 | ​ 54 | To verify that Go is installed: 55 | ​ 56 | ``` {.sh} 57 | go version 58 | # Should return go version go1.19.4 linux/amd64 59 | ``` 60 | ​ 61 | ### Clone the Nolus Source Code 62 | ​ 63 | Use git to retrieve the Nolus source code from the [nolus-core](https://github.com/nolus-protocol/nolus-core) repository and checkout the 64 | v0.3.0 tag which contains the latest stable release. 65 | ​ 66 | ``` {.sh} 67 | git clone https://github.com/nolus-protocol/nolus-core 68 | cd nolus-core 69 | git checkout v0.3.0 70 | ``` 71 | ​ 72 | ## Install nolusd 73 | ​ 74 | You can now build the Nolus daemon. 75 | ​ 76 | ``` {.sh} 77 | make install 78 | ``` 79 | ​ 80 | ### Verify Your Installation 81 | ​ 82 | Verify that you have nolusd (v0.3.0) correctly installed. 83 | ​ 84 | ``` {.sh} 85 | nolusd version --long 86 | ​ 87 | name: nolus 88 | server_name: nolusd 89 | version: 0.3.0 90 | commit: c8946e0c7d0bb4d4f95f83fbeb37db150cf27127 91 | build_tags: netgo ledger, 92 | go: go version go1.19.4 linux/amd64 93 | ``` 94 | ​ 95 | ### Initialize your Node 96 | ​ 97 | Now that your software is installed, you can initialize your Nolus node. 98 | ​ 99 | ``` {.sh} 100 | nolusd init --chain-id=pirin-1 101 | ``` 102 | ​ 103 | This will create a new `.nolus` folder in your HOME directory. 104 | ​ 105 | ### Add or recover key 106 | ​ 107 | You can add the application key which you'll use to sign the genesis transaction. 108 | Adding is done via: 109 | ``` {.sh} 110 | nolusd keys add 111 | ``` 112 | You'd need to memorize and keep the mnemonic that gets generated safe! 113 | ​ 114 | ​ 115 | Recovering an existing key is done via: 116 | ``` {.sh} 117 | nolusd keys add --recover 118 | ``` 119 | ​ 120 | You can also import a key via Ledger. To do so, you can connect a Ledger 121 | device with the Cosmos app open and then run: 122 | ​ 123 | ``` {.sh} 124 | nolusd keys add --ledger 125 | ``` 126 | ​ 127 | and follow any prompts. 128 | ​ 129 | ### Add a genesis account with some NLS 130 | ​ 131 | Since you are using an empty generated genesis.json and not a pregenesis.json containing the balances, you'd need to add some tokens to the wallet such that the gentx does not fail: 132 | ​ 133 | ``` {.sh} 134 | nolusd add-genesis-account 1000000unls 135 | ``` 136 | ​ 137 | ### Create GenTx 138 | ​ 139 | Now that you have you key imported, you are able to use it to create 140 | your gentx. 141 | ​ 142 | To create the genesis transaction, make sure you adjust the necessary parameters for your validator such as moniker, self-stake, commission etc. 143 | ​ 144 | Note that your gentx will be rejected if you use an amount different to what you would have at genesis for the self-stake. 145 | ​ 146 | If you would like to override the memo field, use the `--ip` and 147 | `--node-id` flags. 148 | ​ 149 | An example genesis command would thus look like: 150 | ​ 151 | ``` {.sh} 152 | nolusd gentx 1000000unls \ 153 | --chain-id pirin-1 \ 154 | --moniker="" \ 155 | --identity="" \ 156 | --commission-max-change-rate=0.01 \ 157 | --commission-max-rate=0.20 \ 158 | --commission-rate=0.05 \ 159 | --details="XXXXXXXX" \ 160 | --security-contact="XXXXXXXX" \ 161 | --website="XXXXXXXX" 162 | ``` 163 | ​ 164 | You can find your gentx-.json under HOME/.nolus/config/gentx/: 165 | ​ 166 | ​ 167 | ### Submit Your GenTx 168 | ​ 169 | To submit your GenTx for inclusion in the chain, please upload it to the 170 | [https://github.com/nolus-protocol/nolus-networks](https://github.com/nolus-protocol/nolus-networks) 171 | repo by End of Day, May 19th. 172 | ​ 173 | To upload the your genesis file, please follow these steps: 174 | ​ 175 | 1. Rename the gentx file just generated to gentx-{your-moniker}.json 176 | (please do not include any spaces or special characters in the file 177 | name) 178 | 2. Fork this repo by going to 179 | , clicking on fork, and 180 | choosing your account (if multiple). 181 | 3. Clone your copy of the fork to your local machine 182 | ​ 183 | ``` {.sh} 184 | git clone https://github.com//nolus-networks 185 | ``` 186 | ​ 187 | 4. Copy the gentx to the networks repo (ensure that it is in the 188 | correct folder) 189 | ​ 190 | ``` {.sh} 191 | cp ~/.nolus/config/gentx/gentx-.json networks/mainnet/pirin-1/gentxs/ 192 | ``` 193 | ​ 194 | 5. Commit and push to your repo. 195 | ​ 196 | ``` {.sh} 197 | cd nolus-networks 198 | git add mainnet/pirin-1/gentxs/* 199 | git commit -m " gentx" 200 | git push origin master 201 | ``` 202 | ​ 203 | 6. Create a pull request from your fork to master on this repo. 204 | 7. Let us know on Discord (/#genesis-validators) when you've completed this process! 205 | 8. Stay tuned for next steps which will be shared after May the 19th. 206 | -------------------------------------------------------------------------------- /images/brand-resources/nolus_logo_element.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /images/brand-resources/nolus_logo_horizontal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/brand-resources/nolus_logo_horizontal_invert.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /images/nolus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolus-protocol/nolus-networks/c2c399ea61218f4f2d9e890095859bf7d038881d/images/nolus.png -------------------------------------------------------------------------------- /images/nolus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /mainnet/pirin-1/dao/NOLUS-DAO-GOVERNANCE-TERMS_v1.0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolus-protocol/nolus-networks/c2c399ea61218f4f2d9e890095859bf7d038881d/mainnet/pirin-1/dao/NOLUS-DAO-GOVERNANCE-TERMS_v1.0.pdf -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/01node.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"01node","identity":"7BDD4C2E94392626","website":"https://01node.com","security_contact":"secops@01node.com","details":"Securely validating one block at time since 2019"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1vph2mzpcx8a366strk30cg60nznrwy76nf7u4d","validator_address":"nolusvaloper1vph2mzpcx8a366strk30cg60nznrwy762eteks","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"fY4KbKiVR6fqgcWnohgSNV+YAuzLctTQm1K3YBBIJ4c="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"58d33e46258604167270a06c07c9969ee540b4fd@0.0.0.0:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A8eujrrOJcCqMn02dm2H18wkvb5sBF7kugevNesTbpRw"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["305DDVOqG1PbavM3eJIL+QqmJMbciC22Pb2C0AbGkit79B3aTJk3a6HGdPmmmSYxu6L1cHT4p/6KUXcY80O8bg=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/PPNV.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"⭐️ PPNV Service ⭐️","identity":"862C5270EE4D7EB6","website":"https://ppnv.space","security_contact":"","details":"Professional team Proof of Stake Network Validators ✅"},"commission":{"rate":"0.100000000000000000","max_rate":"1.000000000000000000","max_change_rate":"0.100000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1cjp6a4qs2qkqmena9npsyze4p907lg8pc96d07","validator_address":"nolusvaloper1cjp6a4qs2qkqmena9npsyze4p907lg8pp40gvr","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"v7if4IPJ5diqFmluv4H69aMz6lDtHzAoKSwDQHPa6wE="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"357ee8bd2f356333c2a1eec0f6018504afbd1a0f@135.181.44.81:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A0UioZhrWIhnPaoY2oFJWaDZgMu0PSEh1jzKRwcL+gEv"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["AMBZ5FJ85TYM/DPcS9mv7Plwch2hT4mtTk19o4vwjp8vFJDfACacHtF7k3U+wkx3yZZaQLWRJ/OeA2BJpc3azg=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/Stakecito-gentx.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Stakecito","identity":"D16E26E5C8154E17","website":"https://stakecito.com/","security_contact":"security@stakecito.de","details":"Securing \u0026 Decentralizing PoS Networks."},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1qe8uuf5x69c526h4nzxwv4ltftr73v7qk95x6f","validator_address":"nolusvaloper1qe8uuf5x69c526h4nzxwv4ltftr73v7q04pre5","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"5JzhRaPpswKH/IB7MdwJ8BYSOlY01dx6h8ycOvLh+PI="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"2a6fe0edc706ca2ef4356de1408739813ea22fbc@0.0.0.0:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AuWYtBbktzO6xMxXxpCAvbtCgwTfMu6OnmHZzXO+OBiV"},"mode_info":{"single":{"mode":"SIGN_MODE_LEGACY_AMINO_JSON"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["08sry4tx3jiM2GQPcO3weyGR2ltG+RKSoJqfWfc9gqsAEw9M6YWFbmdQ1rZHdUMwUGZ8x7elaHskXclUFACeWw=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-Allnodes.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Allnodes.com :zap:️","identity":"3999DA33020A4DBC","website":"https://www.allnodes.com/nls","security_contact":"support@allnodes.com","details":"Reliable non-custodial Validator run by the industry leader - Allnodes."},"commission":{"rate":"0.050000000000000000","max_rate":"1.000000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1uhjv3ueraywcaxpdz5uzz0ngnexuc3c8tqkl67","validator_address":"nolusvaloper1uhjv3ueraywcaxpdz5uzz0ngnexuc3c8jsr6er","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"TZQHjopgivhMPLRQBXpME1xIDt9Ed2bdrt7eO6OUMIM="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"3195ee77fb039f944913e6a8e53d096a32fe3dd2@172.17.0.10:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A9aS1idrBH+z6ciJrvZrx3qElwkRtKCX3QQhCHG/DN5p"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["ELusPaDwVczE6u/IyeLaflcGpHkEfBSSF1+vXpOKrdME7k/xBSHKBVZSS1ysVsfsNPBNITDidSujccarXHlWNg=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-ArchitectNodes.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Architect Nodes","identity":"AB730C3A241BB718","website":"https://architectnodes.com","security_contact":"architectnodes@gmail.com","details":"Baremetal validator and IBC relayer operator"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1hvhyunq7qvykzvrcnhjj4xnkcla58xusf9x33g","validator_address":"nolusvaloper1hvhyunq7qvykzvrcnhjj4xnkcla58xuss4n5j4","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"+esnoOrrcypVdHzPN2wizEEwIFQTjHt+DyBrqJ0Pjbc="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"7740f125a480d1329fa1015e7ea97f09ee4eded7@127.0.0.1:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A4d1kZ+mtOgzc2h9uMjdjkMmGTEXkLytXEb9/7bRWMqE"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["AF4kXOo345YwDYrOrF8Cf+tUoPIt0AYFwpA+bk0qBB8vM/+P28YJPj88VErllUchOjP1obw68mnRIHQ/RO5DVg=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-AutonomyCapital.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"AutonomyCapital","identity":"AutonomyCapital","website":"https://www.autonomy.capital","security_contact":"hello@autonomy.capital","details":"freedom from external control or influence"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus13j5uggsgyqct8hjqnk803y8kuwk6c0gz4eneuy","validator_address":"nolusvaloper13j5uggsgyqct8hjqnk803y8kuwk6c0gzvfxule","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"PmvKa1frHDN8uuTS9Ic9+N5xaRmMmF7jXdLc+AHmBsc="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"1c6a4522b6f0f5217333032849f4a1dcfbbee218@38.242.134.110:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AwhR6sBFIj/sVJZf5ACQ4CZGFOcUsXYsdz2io24vAplY"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["NRk4S1jDTxIkM1lFHTwme56dQbof6Su+0Bx9buuR5QEJChQTvaHfQ2YX0Gw1cWt7M4LeAUXb0LXBf6eZcrNo3Q=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-B-Harvest.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"B-Harvest","identity":"8957C5091FBF4192","website":"https://bharvest.io","security_contact":"contact@bharvest.io","details":"Provides secure validation services for dPoS networks"},"commission":{"rate":"0.100000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.100000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1cs3kjzg409ysa49kwp2l8m32j945jcd3t4f5sz","validator_address":"nolusvaloper1cs3kjzg409ysa49kwp2l8m32j945jcd3j9u3nl","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"8NJirpSxuZlcTK8z7kSg2MSI6/UQPRRhGA+5kOElV4M="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"9b5c5e5e117073b85863a570b77f52d8c01e0665@138.3.61.72:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A0IURWV6qdESOKHiJ9wobRi33/19WxUHMnwbW9XoIKTv"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["CZcLbjFKH47KvPYzPJzsVVEIdBcZGkWn5G/I3SK2S+pnZjperArQvoBvKcO6Cvo0usq8kW8uuJPtOxnySyRktg=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-BwareLabs.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"BwareLabs","identity":"E83A08BEEE7A70BD","website":"https://bwarelabs.com","security_contact":"validators@bwarelabs.com","details":"Guaranteed availability and up-time backed by a professional blockchain infrastructure team."},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1tvm8g9wmqvg369mufan8vaen0ua7s98x77xwws","validator_address":"nolusvaloper1tvm8g9wmqvg369mufan8vaen0ua7s98x8wntdd","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"/wt2ajbwGb4HsVbJZQK4i3mrua4e5Nzx/VUcn2FmhBs="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"e16568ad949050e0a817bddaf651a8cce04b0e7a@167.235.115.119:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A6HvGc9UHaQGl1w2IPcy5K8VGXhGtAyi14nsYscbsBe3"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["YCWYZzuSpPq/lm4vz1RiHK+FW2/VldvB600u3J+yKgVJyZ7674WamNaQ7aUc8ggY8nsoqab6oIyzqBQfVaYZtQ=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-CryptoChemistry.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Crypto Chemistry","identity":"969E99E6E4DD9BD5","website":"https://cryptochemistry.io/","security_contact":"relyte@protonmail.com","details":"Crypto Chemistry aims to decentralize and provide security \u0026 stability to the DPoS Networks we validate. We are active in the communities we operate in \u0026 participate in governance to ensure proper representation."},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1tfknxt857r4lm8eh2py5n3yq00t3mq5e7m9a0l","validator_address":"nolusvaloper1tfknxt857r4lm8eh2py5n3yq00t3mq5e8tscvz","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"10zdU2HjtkgKIvOJ3/EQLTR8aoWYbUZHWaiSopbVmtE="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"b22fcc033291f44aec43d8fc464dbd5bee5394b8@185.162.250.199:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AtrKQ53g5K++h/vXPwP9x1FfphQuIT/gRYn/pOGABBOJ"},"mode_info":{"single":{"mode":"SIGN_MODE_LEGACY_AMINO_JSON"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["iLQcdl5SCV4wsyf7XhrkTicPhkl30daR4Q6qdlbHUoMYLE8goaDgATjY7ZxKDrtboQODf/QhC6gxKS4HbDumCQ=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-DOUBLETOP.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"DOUBLETOP","identity":"48E37DA1F442F1F0","website":"","security_contact":"","details":""},"commission":{"rate":"0.100000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1mfyl7a2qnfljfdczsf3em9vxx3drc34654y574","validator_address":"nolusvaloper1mfyl7a2qnfljfdczsf3em9vxx3drc346d933ag","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"LYdfjDAcODDw/YSEmjtTFX+MDJeGhWigH3CsbR+rRkg="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"01a8d90056c862eae7de571cb4c9dde735879f89@95.217.77.172:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A2cfXoSLjyeQ/KmOsqOyUGi5MJu0jwU5tLwHp+n1vdDy"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["m3ydxFKRtdUHA+8Zn8hkzLEFMzhGe3A7CQRZAj/ruYA+F5BuBMXP3sUWrJuq3AMGEQgBiIfo4UQ0XraD7gRjcQ=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-Dora-Factory-PGS.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Dora Factory PGS","identity":"","website":"https://dorafactory.org/","security_contact":"node-operation@dorahacks.com","details":"Public Good Staking"},"commission":{"rate":"1.000000000000000000","max_rate":"1.000000000000000000","max_change_rate":"1.000000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1lcsggcfqsr8laycmsshdz9y4wky4tde2wq24je","validator_address":"nolusvaloper1lcsggcfqsr8laycmsshdz9y4wky4tde2hsls3y","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"pw0SXSmkjh1U3DGZHmyaADOftudRdWMnoqj1JhLL7Qw="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"9f7941e80dd20c7191abcc8244ff46bbfef04517@192.168.1.11:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A3mMM+IkCzTbVYSphEhd3dYxgdHoPwtgPL4VtFJZyJfH"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["+V0T5vnLXmdAKGEbfnTslc5QvYVsSSlgP51aXcOPY9pLFXdN1Wj1Syel4CyiriMnr9Br7i8aWUR4pxSKx8dl/Q=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-Enigma.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Enigma","identity":"6223697ACA24A4FF","website":"https://enigma-validator.com/","security_contact":"contact@enigma-validator.com","details":"Proof of Stake Validator on different projects -- Passionate about Data Science and Technology"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.100000000000000000"},"min_self_delegation":"1","delegator_address":"nolus15sj2ep93fe0re8q6mqg3u6pjmhk5jqs6pgpxnk","validator_address":"nolusvaloper15sj2ep93fe0re8q6mqg3u6pjmhk5jqs6cc5rst","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"I0YBQ0A+R9YZeLWdWhME98RjqrvQTwIYnHYmyu5gOUU="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"2286912ea7b76c7764261f37af783120ecdec6b7@142.44.213.82:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AueGMlhCXh+rzPPEGl4ns+9thLPBPXYz/MBiiuo1kMuw"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["JOaox35KxTW4iDTzpHNxhdWD68UnrizcjKrHltuDgqVbiRO7Rodq8auFV1qnbhSOhkZ8bfLQY8VN3AbbJ9x4gw=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-NacionCrypto-Parceros.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"NacionCrypto - Parceros","identity":"9A70E4445A7A5B0C","website":"www.decry.io","security_contact":"validator@decry.io","details":"Los parceros de Youtube: https://www.youtube.com/c/NacionCrypto - https://twitter.com/Parceros_NC - Telegram: https://t.me/+S2jS3oJiopsZij7k"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1skc8aut895jvg4hdxx7q89sus5x63edealrf0r","validator_address":"nolusvaloper1skc8aut895jvg4hdxx7q89sus5x63edey0kvv7","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"mBDJ0q4N+c9v/dLmgFOUduHXF0vYuu9cjqFXD7CbCxY="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"597d35cf58ca212c78f3029d55dbffb3d1c01325@192.168.0.12:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A1bIYaI271j7lJVvx+umcH8swUvvWxSY+HCjJ2r6vFrN"},"mode_info":{"single":{"mode":"SIGN_MODE_LEGACY_AMINO_JSON"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["dqoT9YkWs1YvE/dCYv3zjRj7UEq9FEK4uevjMO+PwBpyTtk/oz4+Ru7uLmmzdQG9FnJRZgn48C+HcyARkznr/A=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-Notional.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Notional","identity":"0E480E2B83B23D80","website":"https://notional.ventures","security_contact":"contact@notional.ventures","details":"High-quality in-house validation, relaying, and software engineering for the Cosmos Ecosystem"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.050000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1dyfnfmtmeyh9hq9a2zt3w8tpxhqejw6qj5aqzs","validator_address":"nolusvaloper1dyfnfmtmeyh9hq9a2zt3w8tpxhqejw6qtyg9pd","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"a5prwYFNgQCQqLArxN6OcM0qQbkDssX4P2SbYFXH6O0="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"4868bb0024f54952ae5e2f191e1363ac29aab49c@65.108.71.163:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"ApqHBd+PX8CVlDt+m1RVKEsFSf3Fayeyk/rhZNwO840J"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["ZSQTEokNKuY3ZWb0xaKdhSgPmBtgVOHSVFBPijX+UCtKEdDlnoWTcdNPOe6gJHeovjomuQmr1KYLVLPQC9TIPg=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-P-OPS Team.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"P-OPS Team","identity":"A2B9CAA088770EA6","website":"https://www.pops.one","security_contact":"security@pops.one","details":"P-OPS TEAM is a decentralized organization providing you with validation and staking services, blockchain consultation, growth acceleration and investment capital for innovative Web 3.0 projects."},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1dzyw04glsxpczw9yndeuy9hrjf5t9lyhh69v53","validator_address":"nolusvaloper1dzyw04glsxpczw9yndeuy9hrjf5t9lyhw2sfhv","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"O7i79DeVFtJimDpRSlenImEFMGKmC5lEprhAatKRVZ8="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"aeb6c84798c3528b20ee02985208eb72ed794742@185.246.87.116:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A45XXI6sR3TFnDmTbSXI+U5H2aUVyegrOaAMd8isye/g"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["WZm0e46tVv/ON9JpxUVVQiVSWqfVvzvYsO1Z5hiMCK4yFTmuklO/2/wcVJQ2HmlGsn5uXBrQoLOKOEsxFhrvyw=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-Qubelabs.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Qubelabs","identity":"16DFCF6AF28D699D","website":"https://qubelabs.io","security_contact":"security@qubelabs.io","details":"Independent organization of validators, builders, network contributors and community builders."},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1dmgk2jd4epnwtpzah52tp46765s6yy78xg9xrm","validator_address":"nolusvaloper1dmgk2jd4epnwtpzah52tp46765s6yy78lcsrqx","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"WR7nmWVkMwj+d8zXDSu+HKwITpgDyTH3gxRkTXRdWUM="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"488c9ee36fc5ee54e662895dfed5e5df9a5ff2d5@136.243.39.118:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AkfwygabSPYYAZyTDsqZT4GgT/VW9O9ocIYMTaYetSRH"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["Nnks4EcQXGPzXTyJo4u5bWkqN183j95Wl5Lo+XZRawErEFnWcC0tjOwzkS2gdj5IQeRMFJtzAvq8Qzi6sED+DQ=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-Stakewolle.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Stakewolle.com","identity":"","website":"Stakewolle.com","security_contact":"","details":""},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1f7q0amzd3ug5f9tcw4a435gkmc687zr20w2e38","validator_address":"nolusvaloper1f7q0amzd3ug5f9tcw4a435gkmc687zr2k7luj6","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"eqCo0ROqA/Zei49C9tDcLNT4ZEhKg3aLSL1BONZEH4k="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"79379b60f1b2ff78e6c948a05105955772fc13ee@148.113.8.181:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AxYhDJwj4vbaFqkLZl3AtgSeO1ASdjElNZcFKjwTQ3zp"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["4BS1RWi4en0XVCoUY+43zU2vu5Dx6AJGtvy1Pz6xUI8a6LA4hsZWTMeMjTAoLOIOUkhesPa0lhLAkCQsfxC8UQ=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-ValidatorRun.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Validator.run","identity":"","website":"","security_contact":"","details":""},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1rrg649jl2hjznhk6x5883wndal06r7w7led657","validator_address":"nolusvaloper1rrg649jl2hjznhk6x5883wndal06r7w7xfclhr","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"e3DVNJccM5h2O5nYEGHtlrJtmc3of7chhBgxcD9yi8I="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"39b1945d0ec6545ec9d45d0de9a9e7c058410b86@65.108.10.49:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Ay7ocwiIvTW2IMGgA1wjMf/09GlovLuCJcL8u+bQs+l/"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["UnzdMpaZsRSUGay22IGpt/UERgozhrW55BjoVW1M4lMSEW2xSnx+4Ni4nVWoFbLnUtOVoU+U4a98FyX6H+it0g=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-citadelone.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": { 3 | "messages": [ 4 | { 5 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 6 | "description": { 7 | "moniker": "Citadel.one", 8 | "identity": "EBB03EB4BB4CFCA7", 9 | "website": "https://citadel.one", 10 | "security_contact": "nikita@citadel.one", 11 | "details": "Citadel.one is a multi-asset non-custodial staking platform that lets anyone become a part of decentralized infrastructure and earn passive income. Stake with our nodes or any other validator across multiple networks in a few clicks" 12 | }, 13 | "commission": { 14 | "rate": "0.050000000000000000", 15 | "max_rate": "0.200000000000000000", 16 | "max_change_rate": "0.030000000000000000" 17 | }, 18 | "min_self_delegation": "1", 19 | "delegator_address": "nolus187j05u7evucec3jz5pwlgwamdny2a6uquw68ep", 20 | "validator_address": "nolusvaloper187j05u7evucec3jz5pwlgwamdny2a6uq970z6u", 21 | "pubkey": { 22 | "@type": "/cosmos.crypto.ed25519.PubKey", 23 | "key": "4i2VoXpB4wygbdLXvP+O1+7hui0dplO2fl7+ZKYzzfo=" 24 | }, 25 | "value": { 26 | "denom": "unls", 27 | "amount": "1000000" 28 | } 29 | } 30 | ], 31 | "memo": "3b846ac4b446f9519286023c20fb961cdbed666a@192.168.70.132:26656", 32 | "timeout_height": "0", 33 | "extension_options": [], 34 | "non_critical_extension_options": [] 35 | }, 36 | "auth_info": { 37 | "signer_infos": [ 38 | { 39 | "public_key": { 40 | "@type": "/cosmos.crypto.secp256k1.PubKey", 41 | "key": "AywpExZCWZskIMyww5uwic7ROJUi1jQDQlYjWeFeRM1k" 42 | }, 43 | "mode_info": { 44 | "single": { 45 | "mode": "SIGN_MODE_DIRECT" 46 | } 47 | }, 48 | "sequence": "0" 49 | } 50 | ], 51 | "fee": { 52 | "amount": [], 53 | "gas_limit": "200000", 54 | "payer": "", 55 | "granter": "" 56 | } 57 | }, 58 | "signatures": [ 59 | "4aEsNwtl0pjDdlPSyKsI6vlwa45UjrI7wzlRRPFn0dUWjGqyi4F+l0AYY59QVwNZH0YHeXuzBw1M9FKON1QdmQ==" 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-crosnest.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": { 3 | "messages": [ 4 | { 5 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 6 | "description": { 7 | "moniker": "Crosnest", 8 | "identity": "5F1D6AC7EA588676", 9 | "website": "https://www.cros-nest.com", 10 | "security_contact": "chainmaster@cros-nest.com", 11 | "details": "We operate state-of-the-art distributed and redundant validator and relayer infrastructure for Proof of Stake Blockchains." 12 | }, 13 | "commission": { 14 | "rate": "0.050000000000000000", 15 | "max_rate": "0.200000000000000000", 16 | "max_change_rate": "0.010000000000000000" 17 | }, 18 | "min_self_delegation": "1", 19 | "delegator_address": "nolus1ldp9kthjxl6hun23ghlwg5szf297sz5ak3u59y", 20 | "validator_address": "nolusvaloper1ldp9kthjxl6hun23ghlwg5szf297sz5a0pf3xe", 21 | "pubkey": { 22 | "@type": "/cosmos.crypto.ed25519.PubKey", 23 | "key": "Zj1ux6DSNskMuRgVChVAik0flDNbzAAHN2Foh9GvoYY=" 24 | }, 25 | "value": { 26 | "denom": "unls", 27 | "amount": "1000000" 28 | } 29 | } 30 | ], 31 | "memo": "ff91bfc7ae9ffab7cb383db50ff3eb43f72d3b9d@192.168.1.22:26656", 32 | "timeout_height": "0", 33 | "extension_options": [], 34 | "non_critical_extension_options": [] 35 | }, 36 | "auth_info": { 37 | "signer_infos": [ 38 | { 39 | "public_key": { 40 | "@type": "/cosmos.crypto.secp256k1.PubKey", 41 | "key": "Av4/xnZR5K12RNWCyO/pGFC7EtqEIwBfj7jgHaKW0DrF" 42 | }, 43 | "mode_info": { 44 | "single": { 45 | "mode": "SIGN_MODE_LEGACY_AMINO_JSON" 46 | } 47 | }, 48 | "sequence": "0" 49 | } 50 | ], 51 | "fee": { 52 | "amount": [], 53 | "gas_limit": "200000", 54 | "payer": "", 55 | "granter": "" 56 | } 57 | }, 58 | "signatures": [ 59 | "h+aflahmdVmwym62gbsiUT9lYt3FYb9WM2d13pdlW39BcR0dGiGiGyVz2DGXjSBDDbS5bu7bxK0AbnECtifJew==" 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-cryptocrew-validators.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"✅ CryptoCrew Validators #IBCgang","identity":"9AE70F9E3EDA8956","website":"https://ccvalidators.com","security_contact":"support@ccvalidators.com","details":"CryptoCrew Validators | Multichain IBC relayer | Bare Metal Alliance. Based in Europe. t.me/cryptocrew_validators"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1nryk8vpd75d2nvld2hej0nfal64qm3wp2mtatv","validator_address":"nolusvaloper1nryk8vpd75d2nvld2hej0nfal64qm3wpnt7cg3","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"E/SpKdBOSyo7q+x4yP+updyyF3H9RvGrsHKfimNXqIE="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"0e1860b3e6e16bb334e1ea61ffd4ceef4bc05233@192.168.0.105:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Ay22STefRCO2jEd0OMNmfyekNEISq/55diIMxR+1IEMd"},"mode_info":{"single":{"mode":"SIGN_MODE_LEGACY_AMINO_JSON"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["cBEoJtYG7n94GQqaO9Q5KUccKN+qzLmFVn6VTI7zX18CWK65ri+r+G2IgAcEWxDONCB8okCBYzGR89wRhQc3jg=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-everstake.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Everstake","identity":"EF5AC70C00BECEDC","website":"https://everstake.one","security_contact":"o.lisovyi@everstake.one","details":"Reliable and experienced staking service provider from Ukraine. Visit our website for more details."},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1mqew3vdv2zdmgy7r24rlrfl0emrkjct37ml70t","validator_address":"nolusvaloper1mqew3vdv2zdmgy7r24rlrfl0emrkjct38t2mvk","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"5fghmgJdPpk9KFqGNdYU7OZDd/dhtBlBGq7cJS2FdFw="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"1ea1751dd2649ae89b14dbb9d5f3d686070ef47e@51.89.20.161:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A5FKzIn812PVKYo+ENtL4FfaijQ7U2h1qBu+dH1X8Apx"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["xdHDiERF0C5y1BYSG0Y62J15HJx/wUP/Q7Nsq4JYDUtjF+ATZ42xFLV0GsUaeAV/Zopw8HY0FvLQvX+Aea2yzQ=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-forbole.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Forbole","identity":"2861F5EE06627224","website":"https://forbole.com","security_contact":"security@forbole.com","details":"Co-building the Interchain"},"commission":{"rate":"0.050000000000000000","max_rate":"1.000000000000000000","max_change_rate":"1.000000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1clux7z4vcv5ng2y0angvw64u42g94qnagr3mnm","validator_address":"nolusvaloper1clux7z4vcv5ng2y0angvw64u42g94qna3ny7sx","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"aDOYiS74nr9WgubVXGB7NoGB7yiUWQ/qZ3i6CnC4DJ8="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"2e83afa6911ce968435bf58182957cf44e32910e@192.168.50.57:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AuR0YPnNjlWGXHG00d/D6ISr7nEXd5c/4RJEJj4Sdy98"},"mode_info":{"single":{"mode":"SIGN_MODE_LEGACY_AMINO_JSON"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["mQAMP9Av5Q8g/itwiU8wsHtJLDJmY8/6OlSXDk75sKA3Dz4O5JqZ+HC4AhPFLO5kKFHLlwHgCabbOtydoYOwTQ=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-frens.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Frens (🤝,🤝","identity":"C47845226662AF47","website":"https://frens.army","security_contact":"marc@frens.army","details":"Your friendly validator for cosmos chains"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1ej2es5fjztqjcd4pwa0zyvaevtjd2y5w4z90xm","validator_address":"nolusvaloper1ej2es5fjztqjcd4pwa0zyvaevtjd2y5wvjs29x","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"/nLi9NmDz6ZAvdaFBqC9FI8rpDUSHxDkwyUfxKYSLIg="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"6d0ef92d759aaebd51493b2d7c3d84710c7edd57@192.168.16.2:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AvYkNkfxIUrfRHXDurBpbDh/+8a1fO6kaKppIfanmwY5"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["vjGJwJX1zEL+/ioFRmEbj5+f30sIyqNG+IAYEQsfJhlUIOOrU74WADRPvOkAS5dUvra8GQ3/Fppz+w9N74ZVxQ=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-gt-capital.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"GT Capital","identity":"","website":"","security_contact":"","details":""},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.100000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1mmhkjwxmgwfh74hu83a52kt6sps9hqvgdvyh8j","validator_address":"nolusvaloper1mmhkjwxmgwfh74hu83a52kt6sps9hqvg5u3jy0","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"j/lHIYkg05rO/BlkNKSbPRzxgDN4AIZZIzU/87CEUa0="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"30ebc29989437c4484fbbc739ad00e2708a8105b@15.235.114.158:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A9YSs133XYqlq9mXtPpiIwzAVoK525T+GQpr8sOPFSQd"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["HFMdSqsqAbzX3WBGyJbHTFpLaf6RyulbSmlugJiWvlcHyxIYJv6XutMfM8feWGio1zyJOgwZVBKmuDoMrq0Nqw=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-imperator.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Imperator.co","identity":"0878BA6BE556C132","website":"https://imperator.co/","security_contact":"contact@imperator.co","details":"100% refund on downtime slashing -- Professional Delegated Proof-of-Stake Network Validator"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.100000000000000000"},"min_self_delegation":"1","delegator_address":"nolus19k3fmww60txaudx92yjg3hcg36hepkzgjsmes9","validator_address":"nolusvaloper19k3fmww60txaudx92yjg3hcg36hepkzgtqwunc","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"wxhr/IgCvwEZfdEe7BwhL58ru7//VJOS7zR/9snMx48="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"1dc6e4fe133914357449eb9d5cc7b7a7c425c214@192.168.1.25:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A6bAz9xw89vIFIGiaMih9U3v3L5c//DsA5OHpVIiVAos"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[{"denom":"unls","amount":"840"}],"gas_limit":"200000","payer":"","granter":""}},"signatures":["H/jveP+prUmSsPBYcecRDrA+5MGLDDSFNlTzEF92zE9+rIXdMoKJ1sNufyqlA0e2Ww2q83mtfxw5H2RR0MkbEw=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-kingnodes.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": { 3 | "messages": [ 4 | { 5 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 6 | "description": { 7 | "moniker": "kingnodes 👑", 8 | "identity": "30E6CD38D9721222", 9 | "website": "https://kingnodes.com", 10 | "security_contact": "security@kingnodes.com", 11 | "details": "Professional PoS validator securing only the best interchain networks. Join our community of delegators Telegram: https://t.me/kingnodes Twitter: https://twitter.com/kingnodes" 12 | }, 13 | "commission": { 14 | "rate": "0.050000000000000000", 15 | "max_rate": "1.000000000000000000", 16 | "max_change_rate": "1.000000000000000000" 17 | }, 18 | "min_self_delegation": "1", 19 | "delegator_address": "nolus15glep6ugnzems6qhflwhp8wejflajfpvt2ut34", 20 | "validator_address": "nolusvaloper15glep6ugnzems6qhflwhp8wejflajfpvj6fwjg", 21 | "pubkey": { 22 | "@type": "/cosmos.crypto.ed25519.PubKey", 23 | "key": "Qw4Qgd7rMmW62QmTGJHLi7keWe5lC3EE7IHp8VXXpQ8=" 24 | }, 25 | "value": { 26 | "denom": "unls", 27 | "amount": "1000000" 28 | } 29 | } 30 | ], 31 | "memo": "9d7df9ba1a1a73d7ef38eab5fad4ad7ad8d28ae4@15.235.66.89:26656", 32 | "timeout_height": "0", 33 | "extension_options": [], 34 | "non_critical_extension_options": [] 35 | }, 36 | "auth_info": { 37 | "signer_infos": [ 38 | { 39 | "public_key": { 40 | "@type": "/cosmos.crypto.secp256k1.PubKey", 41 | "key": "Au19qmXXLzTIOWoAw7IwwN6WG9a4Ic4zTAwv7xFFGDTW" 42 | }, 43 | "mode_info": { 44 | "single": { 45 | "mode": "SIGN_MODE_DIRECT" 46 | } 47 | }, 48 | "sequence": "0" 49 | } 50 | ], 51 | "fee": { 52 | "amount": [], 53 | "gas_limit": "200000", 54 | "payer": "", 55 | "granter": "" 56 | } 57 | }, 58 | "signatures": [ 59 | "+TRCisOIVUTZuqUa4Gt33Z9sHvgYhhGyGNailcfrTYQYKJM09X0m34SuANxU1mAMXOq8++3L8/ziQ+hQOa1VKw==" 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-kjnodes.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"kjnodes","identity":"1C5ACD2EEF363C3A","website":"https://kjnodes.com","security_contact":"admin@kjnodes.com","details":"Trusted and reliable Proof-of-Stake validator across Cosmoverse. Slash protected with 100% refund in case of downtime."},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus126szq5tqtwrmd4guk4wxejxry4c555075lejj4","validator_address":"nolusvaloper126szq5tqtwrmd4guk4wxejxry4c55507d0vh3g","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"NfpCuaLLcIK5kAo6z+qWgxJNI2VJPDEf/D9XFHGqatg="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"ac62c1ad604d311e7ff3c4808ad64eb57c06ec2b@37.27.6.149:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Ay5MPG0nQpzh33ixvqpnR1WkNXwwYH8l/vw9ZdVd/bW8"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["cGz91Hzz2oZXNOz4GKdX9h32auQCSHbUMp2FbG47k6AaKmU84fVZzcl6dNgJzbPIrSDqmk1RnjP0dBZ3VJtwgA=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-lavenderfive.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": { 3 | "messages": [ 4 | { 5 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 6 | "description": { 7 | "moniker": " Lavender.Five Nodes 🐝", 8 | "identity": "F87ADDB700C0CC94", 9 | "website": "https://www.lavenderfive.com/", 10 | "security_contact": "hello@lavenderfive.com", 11 | "details": "100% soft slash protected. We strive to make the cosmos a more holistically wholesome place. Come say Hi! https://linktr.ee/lavenderfive" 12 | }, 13 | "commission": { 14 | "rate": "0.050000000000000000", 15 | "max_rate": "0.100000000000000000", 16 | "max_change_rate": "0.050000000000000000" 17 | }, 18 | "min_self_delegation": "1", 19 | "delegator_address": "nolus140l6y2gp3gxvay6qtn70re7z2s0gn57z6frmyy", 20 | "validator_address": "nolusvaloper140l6y2gp3gxvay6qtn70re7z2s0gn57zrek78e", 21 | "pubkey": { 22 | "@type": "/cosmos.crypto.ed25519.PubKey", 23 | "key": "XvRHkqKWqHgDQCnSFCA3z1mII0Ok1d5hC5MBQ+n6ems=" 24 | }, 25 | "value": { 26 | "denom": "unls", 27 | "amount": "1000000" 28 | } 29 | } 30 | ], 31 | "memo": "0a4f6e5f22afb7df18659f84f2e431b3603ac11a@192.168.68.176:26656", 32 | "timeout_height": "0", 33 | "extension_options": [], 34 | "non_critical_extension_options": [] 35 | }, 36 | "auth_info": { 37 | "signer_infos": [ 38 | { 39 | "public_key": { 40 | "@type": "/cosmos.crypto.secp256k1.PubKey", 41 | "key": "AgAxffwFDTjrK5UoAmT9aVOuI7CGxe3T5Wsxx2kWWhJB" 42 | }, 43 | "mode_info": { 44 | "single": { 45 | "mode": "SIGN_MODE_LEGACY_AMINO_JSON" 46 | } 47 | }, 48 | "sequence": "0" 49 | } 50 | ], 51 | "fee": { 52 | "amount": [], 53 | "gas_limit": "200000", 54 | "payer": "", 55 | "granter": "" 56 | } 57 | }, 58 | "signatures": [ 59 | "fnuNv1BVcmwTTE2rcaNShqvqd9KgZVEKY+Pibb9jli4iuuF5yZ2F/ujVpAx4uFX5+FdV/zuS4HY5AM1/1xqIQA==" 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-nodex.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": { 3 | "messages": [ 4 | { 5 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 6 | "description": { 7 | "moniker": "⚡NodeX Validator⚡", 8 | "identity": "D47444F2EF3D9308", 9 | "website": "https://nodexcapital.com", 10 | "security_contact": "hello@nodexcapital.com", 11 | "details": "Hi, NodeX Capital is here! secure and reliable nodes validator. Find me at Discord : https://discord.gg/nodexcapital" 12 | }, 13 | "commission": { 14 | "rate": "0.050000000000000000", 15 | "max_rate": "0.200000000000000000", 16 | "max_change_rate": "0.100000000000000000" 17 | }, 18 | "min_self_delegation": "1", 19 | "delegator_address": "nolus1dpufw7tlhjrq0kjmt803txer39d8xyr3v3rewm", 20 | "validator_address": "nolusvaloper1dpufw7tlhjrq0kjmt803txer39d8xyr34pkudx", 21 | "pubkey": { 22 | "@type": "/cosmos.crypto.ed25519.PubKey", 23 | "key": "884HIDxAtClI3FGs1XGihP1DQpvQgpeYwFfT8ql2R60=" 24 | }, 25 | "value": { 26 | "denom": "unls", 27 | "amount": "1000000" 28 | } 29 | } 30 | ], 31 | "memo": "4eb14008fe3bdf9caf9707d8d15c1158a06866ac@65.109.116.204:26656", 32 | "timeout_height": "0", 33 | "extension_options": [], 34 | "non_critical_extension_options": [] 35 | }, 36 | "auth_info": { 37 | "signer_infos": [ 38 | { 39 | "public_key": { 40 | "@type": "/cosmos.crypto.secp256k1.PubKey", 41 | "key": "AiNr220ew8JYf4OhFaiekpFxjKqUPsDspHoV4bDG+IuE" 42 | }, 43 | "mode_info": { 44 | "single": { 45 | "mode": "SIGN_MODE_DIRECT" 46 | } 47 | }, 48 | "sequence": "0" 49 | } 50 | ], 51 | "fee": { 52 | "amount": [], 53 | "gas_limit": "200000", 54 | "payer": "", 55 | "granter": "" 56 | } 57 | }, 58 | "signatures": [ 59 | "gf6VuER2iXrj2JaMXENvvQCw4+M0bNtS09o/yUlqxzc7Eq2HF3hLzqnY0+z5MEnA3Uja7mZgvl+6ZgapAc+nQQ==" 60 | ] 61 | } -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-stakingcabin.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"StakingCabin","identity":"C0522DF992B0C407","website":"https://stakingcabin.com","security_contact":"richard@stakingcabin.com","details":"stakingcabin"},"commission":{"rate":"0.050000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.100000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1rja6uxmkvk8ferkgf5hkrygdxndszq6cvv6kum","validator_address":"nolusvaloper1rja6uxmkvk8ferkgf5hkrygdxndszq6c4u0nlx","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"t8fZo0DWMO8HUfR/4OS+QCFF7jGWyyS9T1Vdg3beSsI="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"0b27bf24c6fd166f49f2f8616f9fca1dcf60b117@172.31.22.102:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A7sra6ReVcFbrFHNbcJxrWjmk8qLo37iTGyx6TJXYNlY"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["+30qcwdzLxcWXDXFBKRiIEs2dsuUqzqWFTl/pjYA/u1W4Grm4nvvF1o0GAynyAiVPO+mx0Pp9ioiVBoRSy70lQ=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-strangelove.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": { 3 | "messages": [ 4 | { 5 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 6 | "description": { 7 | "moniker": "strangelove", 8 | "identity": "158da6c7fcfb7bd23988d9c0d0d8b80f1c5c70b5", 9 | "website": "https://strange.love/", 10 | "security_contact": "security@strange.love", 11 | "details": "Gentlemen, you can't fight in here! This is the War Room!" 12 | }, 13 | "commission": { 14 | "rate": "0.050000000000000000", 15 | "max_rate": "0.200000000000000000", 16 | "max_change_rate": "0.010000000000000000" 17 | }, 18 | "min_self_delegation": "1", 19 | "delegator_address": "nolus1zts523wqvtrhd2a9mznfc83msgs6mgwccm6nld", 20 | "validator_address": "nolusvaloper1zts523wqvtrhd2a9mznfc83msgs6mgwcpt0kus", 21 | "pubkey": { 22 | "@type": "/cosmos.crypto.ed25519.PubKey", 23 | "key": "wvvoqtrlrdAA3SVtIeH/ohgE36hydA4w1kTFrEfS7Bs=" 24 | }, 25 | "value": { "denom": "unls", "amount": "1000000" } 26 | } 27 | ], 28 | "memo": "d142e699bf29f036600d7222e7c33f0ea8b4d295@0.0.0.0:26656", 29 | "timeout_height": "0", 30 | "extension_options": [], 31 | "non_critical_extension_options": [] 32 | }, 33 | "auth_info": { 34 | "signer_infos": [ 35 | { 36 | "public_key": { 37 | "@type": "/cosmos.crypto.multisig.LegacyAminoPubKey", 38 | "threshold": 3, 39 | "public_keys": [ 40 | { 41 | "@type": "/cosmos.crypto.secp256k1.PubKey", 42 | "key": "A5EqH2+OymV6Leskpe8L9RPc33SupzVDJtUROmIVqZtB" 43 | }, 44 | { 45 | "@type": "/cosmos.crypto.secp256k1.PubKey", 46 | "key": "A4jcsKg3Z2AcaGH22XjRiIrMKPrPzGh6Z6hji4fSY5uy" 47 | }, 48 | { 49 | "@type": "/cosmos.crypto.secp256k1.PubKey", 50 | "key": "ApeQ+BvRIgCWL5Vrcl3Znxy2TsgErNE1rdMZ8rwo3WuA" 51 | }, 52 | { 53 | "@type": "/cosmos.crypto.secp256k1.PubKey", 54 | "key": "A1SgSrlikj83agLUJPYDuWTjPkw4rPzkWgMMy/5RxANy" 55 | }, 56 | { 57 | "@type": "/cosmos.crypto.secp256k1.PubKey", 58 | "key": "ApV7SUoUYBCwJN+SmjVvZthKiXvdGMnPTz7l7XUiinB3" 59 | }, 60 | { 61 | "@type": "/cosmos.crypto.secp256k1.PubKey", 62 | "key": "Av4Tr/ayZmj2vBBR2up1EFNGPZIclSwSlpckPGy86/Q9" 63 | }, 64 | { 65 | "@type": "/cosmos.crypto.secp256k1.PubKey", 66 | "key": "AsDBRxCzQtjU44r9j/5gvFjdUvtalqqCMbBtanueo5lX" 67 | } 68 | ] 69 | }, 70 | "mode_info": { 71 | "multi": { 72 | "bitarray": { "extra_bits_stored": 7, "elems": "Dg==" }, 73 | "mode_infos": [ 74 | { "single": { "mode": "SIGN_MODE_LEGACY_AMINO_JSON" } }, 75 | { "single": { "mode": "SIGN_MODE_LEGACY_AMINO_JSON" } }, 76 | { "single": { "mode": "SIGN_MODE_LEGACY_AMINO_JSON" } } 77 | ] 78 | } 79 | }, 80 | "sequence": "0" 81 | } 82 | ], 83 | "fee": { "amount": [], "gas_limit": "200000", "payer": "", "granter": "" } 84 | }, 85 | "signatures": [ 86 | "CkCzAco2VHEdj0cPS8i86AVfj0jnXyg+HOc9F2sBDmXFDh9y+yJ7gW9ukIs2OYvRyKlRqp/DpZkDFzS6r8UBoWkHCkBXN+CsxssJGNpfnh5xF15+oMkJqzF6L6h7if6CREanyQwMe5unPEJF3Rs7fU0aiUFN516lIEyjrkPvTmz0UeQuCkD1l8lHGJ0vCK7JdC/OGPTclrEvKoqlVkQVgXFvE+TTgnLGepjxtOeKQHLp3qdMJYgFu77TSZCAKKSypJ+UVLki" 87 | ] 88 | } 89 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-swiss-staking.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"Swiss Staking","identity":"165F85FC0194320D","website":"https://swiss-staking.ch","security_contact":"info@swiss-staking.ch","details":"Never jailed. Perfect uptime. Airdrop eligibility. IBC relayer. Community contributor. Backing app-chains. High security approach.\n"},"commission":{"rate":"0.050000000000000000","max_rate":"0.250000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"nolus1723pq53d42444qr0zplk8z2r0l7usx4yxl4f3z","validator_address":"nolusvaloper1723pq53d42444qr0zplk8z2r0l7usx4yl0qvjl","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"q2XnmXNk/KcjJupYjSsA7spaLAKGcavVwpu5WZAS0+I="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"ab6962594a064ca8ef0a27ff8d9abe092faf0874@172.19.210.58:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AiZP9xX0pm1Tiv5tnmm37YnmWa3+npmLjCcwMqYgUylJ"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["ooU7MBQxZdqqslem//7XM4M2GAoSd4sgwXojEejqL99nWv54yPAYR4ls+3/qnkJx4OSRlH/tAzm2miCDRjH9rg=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/gentx-w3coins.json: -------------------------------------------------------------------------------- 1 | {"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgCreateValidator","description":{"moniker":"w3coins","identity":"63C62007AB5345E3","website":"https://www.w3coins.io","security_contact":"info@w3coins.io","details":"w3coins is a Professional Validator and Venture Capital Investment Fund. Stake Your Cryptocurrency with us to Maximize Your Earnings."},"commission":{"rate":"0.020000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.100000000000000000"},"min_self_delegation":"1","delegator_address":"nolus14uhx3rrqy5wat52ed663jyte70jm9333dsuc4j","validator_address":"nolusvaloper14uhx3rrqy5wat52ed663jyte70jm93335qfak0","pubkey":{"@type":"/cosmos.crypto.ed25519.PubKey","key":"nRg5ax35Uez2b4EtMrLaiCl+d7Z588hgZ3q+Ak7igJE="},"value":{"denom":"unls","amount":"1000000"}}],"memo":"ed422cd016eddffc9cb320d7654075fe6609c739@65.109.117.212:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A9r+vnM9dAPF7NpLKQTe+g8RGUR+9ri6LMsOgAhubujl"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["pXuKvEY23tAs/+vfnfIp1vEtxiQSmQqQuduosVlkWb8FUEeyGAwvBIUvNnpxMzCeSl1g9DTVu4AhtK5H5tljgg=="]} 2 | -------------------------------------------------------------------------------- /mainnet/pirin-1/gentxs/nodesguru.json: -------------------------------------------------------------------------------- 1 | { 2 | "body": { 3 | "messages": [ 4 | { 5 | "@type": "/cosmos.staking.v1beta1.MsgCreateValidator", 6 | "description": { 7 | "moniker": "Nodes.Guru", 8 | "identity": "28B672FCE6BBD562", 9 | "website": "https://stake.nodes.guru", 10 | "security_contact": "security@nodes.guru", 11 | "details": "Guru of non-custodial staking. Professional node running, low fees, best uptime and 24/7 customer support." 12 | }, 13 | "commission": { 14 | "rate": "0.050000000000000000", 15 | "max_rate": "0.100000000000000000", 16 | "max_change_rate": "0.050000000000000000" 17 | }, 18 | "min_self_delegation": "1", 19 | "delegator_address": "nolus1t2k2r4y9nl9cr5qa0xrzw8aaxz9dxl5p6nn3pa", 20 | "validator_address": "nolusvaloper1t2k2r4y9nl9cr5qa0xrzw8aaxz9dxl5prrx5zq", 21 | "pubkey": { 22 | "@type": "/cosmos.crypto.ed25519.PubKey", 23 | "key": "+XcUQxrcUGk2PyFQaY4ZeGJMV1FaZk564kzZcUqsRAg=" 24 | }, 25 | "value": { 26 | "denom": "unls", 27 | "amount": "1000000" 28 | } 29 | } 30 | ], 31 | "memo": "67d569007da736396d7b636224b97349adcde12f@51.89.98.102:26656", 32 | "timeout_height": "0", 33 | "extension_options": [], 34 | "non_critical_extension_options": [] 35 | }, 36 | "auth_info": { 37 | "signer_infos": [ 38 | { 39 | "public_key": { 40 | "@type": "/cosmos.crypto.secp256k1.PubKey", 41 | "key": "ArpJH06t+8JYLNb2nrT2u5mpLMMsCGZN2bJQFb73UZvQ" 42 | }, 43 | "mode_info": { 44 | "single": { 45 | "mode": "SIGN_MODE_DIRECT" 46 | } 47 | }, 48 | "sequence": "0" 49 | } 50 | ], 51 | "fee": { 52 | "amount": [], 53 | "gas_limit": "200000", 54 | "payer": "", 55 | "granter": "" 56 | } 57 | }, 58 | "signatures": [ 59 | "yLm0I3oP8zoeqfdQY4RISZTthL5hXf6MdKQf5toxHuJwsLph9+rxoZZLflE31jIdDCavukue4hX3QvGoYFBjrg==" 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/neutron-astroport-usdc_axelar.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "astroport", 3 | "dex_network": "NEUTRON", 4 | "lpn_ticker": "USDC_AXELAR", 5 | "stable_currency_ticker": "USDC_AXELAR", 6 | "lease_currencies_tickers": [ 7 | "ATOM", 8 | "DYDX", 9 | "NTRN", 10 | "ST_ATOM", 11 | "ST_TIA", 12 | "TIA" 13 | ], 14 | "payment_only_currencies_tickers": [ 15 | "USDC_NOBLE" 16 | ], 17 | "swap_pairs": { 18 | "ATOM": [ 19 | "ST_ATOM" 20 | ], 21 | "NTRN": [ 22 | "ATOM", 23 | "NLS", 24 | "TIA" 25 | ], 26 | "TIA": [ 27 | "ST_TIA" 28 | ], 29 | "USDC_AXELAR": [ 30 | "NTRN", 31 | "USDC_NOBLE" 32 | ], 33 | "USDC_NOBLE": [ 34 | "DYDX" 35 | ] 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/neutron-astroport-usdc_noble.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "astroport", 3 | "dex_network": "NEUTRON", 4 | "lpn_ticker": "USDC_NOBLE", 5 | "stable_currency_ticker": "USDC_NOBLE", 6 | "lease_currencies_tickers": [ 7 | "ATOM", 8 | "D_ATOM", 9 | "D_NTRN", 10 | "DYDX", 11 | "NTRN", 12 | "ST_ATOM", 13 | "ST_TIA", 14 | "TIA", 15 | "WST_ETH" 16 | ], 17 | "payment_only_currencies_tickers": [], 18 | "swap_pairs": { 19 | "ATOM": [ 20 | "ST_ATOM" 21 | ], 22 | "D_NTRN": [ 23 | "NTRN" 24 | ], 25 | "NTRN": [ 26 | "ATOM", 27 | "D_NTRN", 28 | "NLS", 29 | "TIA", 30 | "WST_ETH" 31 | ], 32 | "TIA": [ 33 | "ST_TIA" 34 | ], 35 | "USDC_NOBLE": [ 36 | "D_ATOM", 37 | "D_NTRN", 38 | "DYDX", 39 | "NTRN" 40 | ] 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/osmosis-osmosis-akt.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "AKT", 5 | "stable_currency_ticker": "USDC_NOBLE", 6 | "lease_currencies_tickers": [ 7 | "USDC_NOBLE" 8 | ], 9 | "payment_only_currencies_tickers": [ 10 | "ALL_BTC", 11 | "ALL_ETH", 12 | "ALL_SOL", 13 | "ATOM", 14 | "AXL", 15 | "INJ", 16 | "OSMO", 17 | "ST_ATOM", 18 | "ST_OSMO", 19 | "WETH" 20 | ], 21 | "swap_pairs": { 22 | "AKT": [ 23 | "OSMO", 24 | "USDC_NOBLE" 25 | ], 26 | "ALL_BTC": [ 27 | "ALL_SOL" 28 | ], 29 | "ATOM": [ 30 | "ST_ATOM", 31 | "USDC_NOBLE" 32 | ], 33 | "OSMO": [ 34 | "ATOM", 35 | "AXL", 36 | "ST_OSMO", 37 | "WETH" 38 | ], 39 | "USDC_NOBLE": [ 40 | "ALL_BTC", 41 | "ALL_ETH", 42 | "ATOM", 43 | "INJ", 44 | "NLS" 45 | ] 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/osmosis-osmosis-all_btc.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "ALL_BTC", 5 | "stable_currency_ticker": "USDC_NOBLE", 6 | "lease_currencies_tickers": [ 7 | "USDC_NOBLE" 8 | ], 9 | "payment_only_currencies_tickers": [ 10 | "AKT", 11 | "ALL_ETH", 12 | "ALL_SOL", 13 | "ATOM", 14 | "AXL", 15 | "INJ", 16 | "OSMO", 17 | "ST_ATOM", 18 | "ST_OSMO", 19 | "WETH" 20 | ], 21 | "swap_pairs": { 22 | "ALL_BTC": [ 23 | "ALL_SOL", 24 | "USDC_NOBLE" 25 | ], 26 | "ATOM": [ 27 | "OSMO", 28 | "ST_ATOM" 29 | ], 30 | "OSMO": [ 31 | "AKT", 32 | "AXL", 33 | "ST_OSMO", 34 | "WETH" 35 | ], 36 | "USDC_NOBLE": [ 37 | "ALL_ETH", 38 | "ATOM", 39 | "INJ", 40 | "NLS" 41 | ] 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/osmosis-osmosis-all_sol.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "ALL_SOL", 5 | "stable_currency_ticker": "USDC_NOBLE", 6 | "lease_currencies_tickers": [ 7 | "USDC_NOBLE" 8 | ], 9 | "payment_only_currencies_tickers": [ 10 | "AKT", 11 | "ALL_BTC", 12 | "ALL_ETH", 13 | "ATOM", 14 | "AXL", 15 | "INJ", 16 | "OSMO", 17 | "ST_ATOM", 18 | "ST_OSMO", 19 | "WETH" 20 | ], 21 | "swap_pairs": { 22 | "ALL_BTC": [ 23 | "USDC_NOBLE" 24 | ], 25 | "ALL_SOL": [ 26 | "ALL_BTC", 27 | "USDC_NOBLE" 28 | ], 29 | "ATOM": [ 30 | "OSMO", 31 | "ST_ATOM" 32 | ], 33 | "OSMO": [ 34 | "AKT", 35 | "AXL", 36 | "ST_OSMO", 37 | "WETH" 38 | ], 39 | "USDC_NOBLE": [ 40 | "ALL_BTC", 41 | "ALL_ETH", 42 | "ATOM", 43 | "INJ", 44 | "NLS" 45 | ] 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/osmosis-osmosis-atom.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "ATOM", 5 | "stable_currency_ticker": "USDC_NOBLE", 6 | "lease_currencies_tickers": [ 7 | "USDC_NOBLE" 8 | ], 9 | "payment_only_currencies_tickers": [ 10 | "AKT", 11 | "ALL_BTC", 12 | "ALL_ETH", 13 | "ALL_SOL", 14 | "AXL", 15 | "INJ", 16 | "OSMO", 17 | "ST_ATOM", 18 | "ST_OSMO", 19 | "WETH" 20 | ], 21 | "swap_pairs": { 22 | "ALL_BTC": [ 23 | "ALL_SOL" 24 | ], 25 | "ATOM": [ 26 | "OSMO", 27 | "ST_ATOM", 28 | "USDC_NOBLE" 29 | ], 30 | "OSMO": [ 31 | "AXL", 32 | "ST_OSMO", 33 | "WETH" 34 | ], 35 | "USDC_NOBLE": [ 36 | "AKT", 37 | "ALL_BTC", 38 | "ALL_ETH", 39 | "INJ", 40 | "NLS" 41 | ] 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/osmosis-osmosis-inj.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "INJ", 5 | "stable_currency_ticker": "USDC_NOBLE", 6 | "lease_currencies_tickers": [ 7 | "USDC_NOBLE" 8 | ], 9 | "payment_only_currencies_tickers": [ 10 | "AKT", 11 | "ALL_BTC", 12 | "ALL_ETH", 13 | "ALL_SOL", 14 | "ATOM", 15 | "AXL", 16 | "OSMO", 17 | "ST_ATOM", 18 | "ST_OSMO", 19 | "WETH" 20 | ], 21 | "swap_pairs": { 22 | "ALL_BTC": [ 23 | "ALL_SOL" 24 | ], 25 | "ATOM": [ 26 | "OSMO", 27 | "ST_ATOM" 28 | ], 29 | "INJ": [ 30 | "USDC_NOBLE" 31 | ], 32 | "OSMO": [ 33 | "AXL", 34 | "ST_OSMO", 35 | "WETH" 36 | ], 37 | "USDC_NOBLE": [ 38 | "AKT", 39 | "ALL_BTC", 40 | "ALL_ETH", 41 | "ATOM", 42 | "NLS" 43 | ] 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/osmosis-osmosis-osmo.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "OSMO", 5 | "stable_currency_ticker": "USDC_NOBLE", 6 | "lease_currencies_tickers": [ 7 | "USDC_NOBLE" 8 | ], 9 | "payment_only_currencies_tickers": [ 10 | "ATOM" 11 | ], 12 | "swap_pairs": { 13 | "ATOM": [ 14 | "USDC_NOBLE" 15 | ], 16 | "OSMO": [ 17 | "ATOM", 18 | "USDC_NOBLE" 19 | ], 20 | "USDC_NOBLE": [ 21 | "NLS" 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/osmosis-osmosis-st_atom.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "ST_ATOM", 5 | "stable_currency_ticker": "USDC_NOBLE", 6 | "lease_currencies_tickers": [ 7 | "USDC_NOBLE" 8 | ], 9 | "payment_only_currencies_tickers": [ 10 | "AKT", 11 | "ATOM", 12 | "AXL", 13 | "OSMO", 14 | "ST_OSMO" 15 | ], 16 | "swap_pairs": { 17 | "ATOM": [ 18 | "OSMO", 19 | "USDC_NOBLE" 20 | ], 21 | "OSMO": [ 22 | "AKT", 23 | "AXL", 24 | "ST_OSMO" 25 | ], 26 | "ST_ATOM": [ 27 | "ATOM" 28 | ], 29 | "USDC_NOBLE": [ 30 | "NLS" 31 | ] 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/osmosis-osmosis-usdc_axelar.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "USDC", 5 | "stable_currency_ticker": "USDC", 6 | "lease_currencies_tickers": [ 7 | "AKT", 8 | "ATOM", 9 | "AXL", 10 | "CRO", 11 | "DYM", 12 | "INJ", 13 | "JKL", 14 | "JUNO", 15 | "MILK_TIA", 16 | "OSMO", 17 | "PICA", 18 | "Q_ATOM", 19 | "SCRT", 20 | "STARS", 21 | "ST_ATOM", 22 | "ST_OSMO", 23 | "STRD", 24 | "TIA", 25 | "WBTC", 26 | "WETH" 27 | ], 28 | "payment_only_currencies_tickers": [ 29 | "USDC_NOBLE" 30 | ], 31 | "swap_pairs": { 32 | "ATOM": [ 33 | "ST_ATOM", 34 | "Q_ATOM" 35 | ], 36 | "OSMO": [ 37 | "AKT", 38 | "ATOM", 39 | "AXL", 40 | "CRO", 41 | "DYM", 42 | "JKL", 43 | "JUNO", 44 | "PICA", 45 | "SCRT", 46 | "STARS", 47 | "ST_OSMO", 48 | "STRD", 49 | "TIA", 50 | "WBTC", 51 | "WETH" 52 | ], 53 | "TIA": [ 54 | "MILK_TIA" 55 | ], 56 | "USDC": [ 57 | "OSMO", 58 | "USDC_NOBLE" 59 | ], 60 | "USDC_NOBLE": [ 61 | "INJ", 62 | "NLS" 63 | ] 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /mainnet/pirin-1/protocols/osmosis-osmosis-usdc_noble.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "USDC_NOBLE", 5 | "stable_currency_ticker": "USDC_NOBLE", 6 | "lease_currencies_tickers": [ 7 | "AKT", 8 | "ALL_BTC", 9 | "ALL_ETH", 10 | "ALL_SOL", 11 | "ATOM", 12 | "AXL", 13 | "BABY", 14 | "CRO", 15 | "INJ", 16 | "JKL", 17 | "MILK_TIA", 18 | "NIL", 19 | "OM", 20 | "OSMO", 21 | "SCRT", 22 | "ST_ATOM", 23 | "ST_OSMO", 24 | "ST_TIA", 25 | "TIA", 26 | "WBTC", 27 | "WETH", 28 | "XION" 29 | ], 30 | "payment_only_currencies_tickers": [ 31 | "USDC_AXELAR" 32 | ], 33 | "swap_pairs": { 34 | "ALL_BTC": [ 35 | "ALL_SOL", 36 | "BABY", 37 | "OM" 38 | ], 39 | "ATOM": [ 40 | "OSMO", 41 | "ST_ATOM" 42 | ], 43 | "OSMO": [ 44 | "AKT", 45 | "AXL", 46 | "CRO", 47 | "JKL", 48 | "SCRT", 49 | "ST_OSMO", 50 | "TIA", 51 | "WBTC", 52 | "WETH" 53 | ], 54 | "TIA": [ 55 | "MILK_TIA", 56 | "ST_TIA" 57 | ], 58 | "USDC_NOBLE": [ 59 | "AKT", 60 | "ALL_BTC", 61 | "ALL_ETH", 62 | "ALL_SOL", 63 | "ATOM", 64 | "BABY", 65 | "INJ", 66 | "NIL", 67 | "NLS", 68 | "OM", 69 | "OSMO", 70 | "TIA", 71 | "XION" 72 | ] 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /peers-mainnet.md: -------------------------------------------------------------------------------- 1 | # pirin-1 peer list 2 | 3 | ## Validator.run 4 | 39b1945d0ec6545ec9d45d0de9a9e7c058410b86@65.108.10.49:26457 5 | 6 | ## AutonomyCapital 7 | 1c6a4522b6f0f5217333032849f4a1dcfbbee218@38.242.134.110:26656 8 | 9 | ## Nodes.Guru 10 | 67d569007da736396d7b636224b97349adcde12f@51.89.98.102:55666 11 | 12 | ## Architect Nodes 13 | 7740f125a480d1329fa1015e7ea97f09ee4eded7@107.135.15.66:26746 14 | 15 | ## P-OPS Team 16 | aeb6c84798c3528b20ee02985208eb72ed794742@val02-nls-m.pops.one:26666 17 | 18 | ## Lavender.Five Nodes 19 | 18845b356886a99ee704f7a06de79fc8208b47d1@57.128.96.155:19756 20 | 21 | ## Imperator.co 22 | e5e2b4ae69c1115f126abcd5aa449842e29832b0@51.255.66.46:2110 23 | 24 | ## NodeX Validator 25 | 4eb14008fe3bdf9caf9707d8d15c1158a06866ac@65.109.116.204:12356 26 | 27 | ## Qubelabs 28 | 488c9ee36fc5ee54e662895dfed5e5df9a5ff2d5@136.243.39.118:26656 29 | 30 | ## Forbole 31 | cbbb839a7fee054f7e272688787200b2b847bbf0@103.180.28.91:26656 32 | 65d9be311c814f775eda349427d11a39eb6b8623@5.10.19.39:26656 33 | 34 | ## StakingCabin 35 | 0b27bf24c6fd166f49f2f8616f9fca1dcf60b117@3.239.198.192:26656 36 | 37 | ## Crypto Chemistry 38 | b22fcc033291f44aec43d8fc464dbd5bee5394b8@185.162.250.199:26656 39 | 40 | ## BwareLabs 41 | e16568ad949050e0a817bddaf651a8cce04b0e7a@176.9.70.180:26656 42 | 43 | ## Notional 44 | // 4868bb0024f54952ae5e2f191e1363ac29aab49c@65.108.71.163:2640 45 | -------------------------------------------------------------------------------- /testnet/nolus-rila/README.md: -------------------------------------------------------------------------------- 1 | ## Testnet nolus-rila 2 | ## Build && Run node with docker 3 | 4 | Executing the build-image.sh script will build and run a node in docker for testnet/nolus-rila network. 5 | Network could be specified via --network flag passed to the build-image.sh script 6 | 7 | 1. Execute build-image.sh script to build && run a full node of testnet/nolus-rila with Docker 8 | 9 | ```./build-image.sh``` 10 | 11 | ## Faucets 12 | 13 | 1. Testnet nolus-rila - https://faucet-rila.nolus.io/ 14 | -------------------------------------------------------------------------------- /testnet/nolus-rila/build-image.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | NETWORK="testnet/nolus-rila" 3 | 4 | __print_usage() { 5 | printf \ 6 | "Usage: 7 | [--network ]" 8 | } 9 | 10 | 11 | while [[ $# -gt 0 ]]; do 12 | key="$1" 13 | 14 | case $key in 15 | 16 | -h | --help) 17 | __print_usage "$0" 18 | exit 0 19 | ;; 20 | 21 | -c | --network) 22 | NETWORK="$2" 23 | shift 24 | shift 25 | ;; 26 | 27 | *) 28 | echo "unknown option '$key'" 29 | exit 1 30 | ;; 31 | 32 | esac 33 | done 34 | 35 | VERSION=$(cat version.md) 36 | IMAGE_NAME="nolus-image-$VERSION" 37 | 38 | docker build \ 39 | --build-arg NETWORK="$NETWORK" \ 40 | --build-arg VERSION="$VERSION" \ 41 | -f nolus_node.Dockerfile \ 42 | -t "$IMAGE_NAME" . 43 | 44 | docker run -d -it \ 45 | --name "nolus-node-$VERSION" \ 46 | -v nolusDataVol:/.nolus/data \ 47 | "$IMAGE_NAME" -------------------------------------------------------------------------------- /testnet/nolus-rila/currencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "networks": { 3 | "list": { 4 | "NOLUS": { 5 | "currencies": { 6 | "NLS": { 7 | "native": { 8 | "name": "Nolus", 9 | "symbol": "unls", 10 | "ticker": "NLS", 11 | "decimal_digits": "6" 12 | } 13 | } 14 | } 15 | }, 16 | "OSMOSIS": { 17 | "currencies": { 18 | "OSMO": { 19 | "native": { 20 | "name": "Osmosis OSMO", 21 | "symbol": "uosmo", 22 | "ticker": "OSMO", 23 | "decimal_digits": "6" 24 | }, 25 | "icon": "https://nolus.io/currencies/osmosis-osmo.svg" 26 | }, 27 | "USDC_AXELAR": { 28 | "ibc": { 29 | "network": "AXELAR", 30 | "currency": "USDC" 31 | }, 32 | "icon": "https://nolus.io/currencies/osmosis-usdc.svg" 33 | }, 34 | "ATOM": { 35 | "ibc": { 36 | "network": "COSMOS_HUB", 37 | "currency": "ATOM" 38 | }, 39 | "icon": "https://nolus.io/currencies/osmosis-atom.svg" 40 | }, 41 | "NLS": { 42 | "ibc": { 43 | "network": "NOLUS", 44 | "currency": "NLS" 45 | }, 46 | "icon": "https://nolus.io/currencies/osmosis-nls.svg" 47 | }, 48 | "AKT": { 49 | "ibc": { 50 | "network": "AKASH", 51 | "currency": "AKT" 52 | }, 53 | "icon": "https://nolus.io/currencies/osmosis-akt.svg" 54 | }, 55 | "JUNO": { 56 | "ibc": { 57 | "network": "JUNO", 58 | "currency": "JUNO" 59 | }, 60 | "icon": "https://nolus.io/currencies/osmosis-juno.svg" 61 | } 62 | }, 63 | "amm_pools": [ 64 | { 65 | "id": "12", 66 | "token_0": "ATOM", 67 | "token_1": "OSMO" 68 | }, 69 | { 70 | "id": "5", 71 | "token_0": "OSMO", 72 | "token_1": "USDC_AXELAR" 73 | }, 74 | { 75 | "id": "39", 76 | "token_0": "NLS", 77 | "token_1": "USDC_AXELAR" 78 | }, 79 | { 80 | "id": "18", 81 | "token_0": "AKT", 82 | "token_1": "OSMO" 83 | }, 84 | { 85 | "id": "3", 86 | "token_0": "JUNO", 87 | "token_1": "OSMO" 88 | }, 89 | { 90 | "id": "10", 91 | "token_0": "MARS", 92 | "token_1": "OSMO" 93 | } 94 | ] 95 | }, 96 | "AXELAR": { 97 | "currencies": { 98 | "USDC": { 99 | "native": { 100 | "name": "Usdc", 101 | "symbol": "uausdc", 102 | "ticker": "USDC", 103 | "decimal_digits": "6" 104 | } 105 | } 106 | } 107 | }, 108 | "COSMOS_HUB": { 109 | "currencies": { 110 | "ATOM": { 111 | "native": { 112 | "name": "Cosmos Hub ATOM", 113 | "symbol": "uatom", 114 | "ticker": "ATOM", 115 | "decimal_digits": "6" 116 | } 117 | } 118 | } 119 | }, 120 | "AKASH": { 121 | "currencies": { 122 | "AKT": { 123 | "native": { 124 | "name": "Akash", 125 | "symbol": "uakt", 126 | "ticker": "AKT", 127 | "decimal_digits": "6" 128 | } 129 | } 130 | } 131 | }, 132 | "JUNO": { 133 | "currencies": { 134 | "JUNO": { 135 | "native": { 136 | "name": "Juno", 137 | "symbol": "ujunox", 138 | "ticker": "JUNO", 139 | "decimal_digits": "6" 140 | } 141 | } 142 | } 143 | }, 144 | "NEUTRON": { 145 | "currencies": { 146 | "NTRN": { 147 | "native": { 148 | "name": "Neutron", 149 | "symbol": "untrn", 150 | "ticker": "NTRN", 151 | "decimal_digits": "6" 152 | } 153 | }, 154 | "USDC_AXELAR": { 155 | "ibc": { 156 | "network": "AXELAR", 157 | "currency": "USDC" 158 | }, 159 | "icon": "https://nolus.io/currencies/neutron-usdc.svg" 160 | }, 161 | "ATOM": { 162 | "ibc": { 163 | "network": "COSMOS_HUB", 164 | "currency": "ATOM" 165 | }, 166 | "icon": "https://nolus.io/currencies/neutron-atom.svg" 167 | }, 168 | "DYDX": { 169 | "ibc": { 170 | "network": "DYDX", 171 | "currency": "DYDX" 172 | }, 173 | "icon": "https://nolus.io/currencies/neutron-dydx.svg" 174 | }, 175 | "NLS": { 176 | "ibc": { 177 | "network": "NOLUS", 178 | "currency": "NLS" 179 | }, 180 | "icon": "https://nolus.io/currencies/neutron-nls.svg" 181 | }, 182 | "amm_pools": [ 183 | { 184 | "id": "", 185 | "token_0": "NTRN", 186 | "token_1": "USDC_AXELAR" 187 | }, 188 | { 189 | "id": "", 190 | "token_0": "NTRN", 191 | "token_1": "ATOM" 192 | }, 193 | { 194 | "id": "", 195 | "token_0": "DYDX", 196 | "token_1": "USDC_AXELAR" 197 | }, 198 | { 199 | "id": "", 200 | "token_0": "NTRN", 201 | "token_1": "NLS" 202 | } 203 | ] 204 | } 205 | }, 206 | "DYDX": { 207 | "currencies": { 208 | "DYDX": { 209 | "native": { 210 | "name": "Dydx", 211 | "symbol": "adydx", 212 | "ticker": "DYDX", 213 | "decimal_digits": "18" 214 | } 215 | } 216 | } 217 | } 218 | }, 219 | "channels": [ 220 | { 221 | "a": { 222 | "network": "NOLUS", 223 | "ch": "channel-0" 224 | }, 225 | "b": { 226 | "network": "OSMOSIS", 227 | "ch": "channel-110" 228 | } 229 | }, 230 | { 231 | "a": { 232 | "network": "OSMOSIS", 233 | "ch": "channel-3" 234 | }, 235 | "b": { 236 | "network": "AXELAR", 237 | "ch": "channel-227" 238 | } 239 | }, 240 | { 241 | "a": { 242 | "network": "OSMOSIS", 243 | "ch": "channel-73" 244 | }, 245 | "b": { 246 | "network": "AKASH", 247 | "ch": "channel-1" 248 | } 249 | }, 250 | { 251 | "a": { 252 | "network": "COSMOS_HUB", 253 | "ch": "channel-2500" 254 | }, 255 | "b": { 256 | "network": "OSMOSIS", 257 | "ch": "channel-12" 258 | } 259 | }, 260 | { 261 | "a": { 262 | "network": "OSMOSIS", 263 | "ch": "channel-1" 264 | }, 265 | "b": { 266 | "network": "JUNO", 267 | "ch": "channel-190" 268 | } 269 | }, 270 | { 271 | "a": { 272 | "network": "NOLUS", 273 | "ch": "channel-116" 274 | }, 275 | "b": { 276 | "network": "NEUTRON", 277 | "ch": "channel-209" 278 | } 279 | }, 280 | { 281 | "a": { 282 | "network": "NEUTRON", 283 | "ch": "channel-8" 284 | }, 285 | "b": { 286 | "network": "AXELAR", 287 | "ch": "channel-237" 288 | } 289 | }, 290 | { 291 | "a": { 292 | "network": "NEUTRON", 293 | "ch": "channel-1" 294 | }, 295 | "b": { 296 | "network": "COSMOS_HUB", 297 | "ch": "channel-16" 298 | } 299 | }, 300 | { 301 | "a": { 302 | "network": "NEUTRON", 303 | "ch": "channel-48" 304 | }, 305 | "b": { 306 | "network": "DYDX", 307 | "ch": "channel-11" 308 | } 309 | } 310 | ] 311 | }, 312 | "protocols": { 313 | "osmosis_axlusdc": { 314 | "DexNetwork": "OSMOSIS", 315 | "Lpn": { 316 | "dex_currency": "USDC_AXELAR" 317 | }, 318 | "Lease": { 319 | "ATOM": { 320 | "dex_currency": "ATOM", 321 | "swap_routes": [ 322 | [ 323 | { 324 | "pool_id": "12", 325 | "pool_token": "OSMO" 326 | }, 327 | { 328 | "pool_id": "5", 329 | "pool_token": "USDC" 330 | } 331 | ] 332 | ] 333 | }, 334 | "OSMO": { 335 | "dex_currency": "OSMO", 336 | "swap_routes": [ 337 | [ 338 | { 339 | "pool_id": "5", 340 | "pool_token": "USDC" 341 | } 342 | ] 343 | ] 344 | }, 345 | "AKT": { 346 | "dex_currency": "AKT", 347 | "swap_routes": [ 348 | [ 349 | { 350 | "pool_id": "18", 351 | "pool_token": "OSMO" 352 | }, 353 | { 354 | "pool_id": "5", 355 | "pool_token": "USDC" 356 | } 357 | ] 358 | ] 359 | }, 360 | "JUNO": { 361 | "dex_currency": "JUNO", 362 | "swap_routes": [ 363 | [ 364 | { 365 | "pool_id": "3", 366 | "pool_token": "OSMO" 367 | }, 368 | { 369 | "pool_id": "5", 370 | "pool_token": "USDC" 371 | } 372 | ] 373 | ] 374 | }, 375 | "MARS": { 376 | "dex_currency": "MARS", 377 | "swap_routes": [ 378 | [ 379 | { 380 | "pool_id": "10", 381 | "pool_token": "OSMO" 382 | }, 383 | { 384 | "pool_id": "5", 385 | "pool_token": "USDC" 386 | } 387 | ] 388 | ] 389 | } 390 | }, 391 | "Native": { 392 | "dex_currency": "NLS", 393 | "swap_routes": [ 394 | [ 395 | { 396 | "pool_id": "39", 397 | "pool_token": "USDC" 398 | } 399 | ] 400 | ] 401 | } 402 | }, 403 | "astroport_axlusdc": { 404 | "DexNetwork": "NEUTRON", 405 | "Lpn": { 406 | "dex_currency": "USDC_AXELAR" 407 | }, 408 | "Lease": { 409 | "ATOM": { 410 | "dex_currency": "ATOM", 411 | "swap_routes": [ 412 | [ 413 | { 414 | "pool_id": "", 415 | "pool_token": "NTRN" 416 | }, 417 | { 418 | "pool_id": "", 419 | "pool_token": "USDC_AXELAR" 420 | } 421 | ] 422 | ] 423 | }, 424 | "NTRN": { 425 | "dex_currency": "NTRN", 426 | "swap_routes": [ 427 | [ 428 | { 429 | "pool_id": "", 430 | "pool_token": "USDC_AXELAR" 431 | } 432 | ] 433 | ] 434 | } 435 | }, 436 | "Native": { 437 | "dex_currency": "NLS", 438 | "swap_routes": [ 439 | [ 440 | { 441 | "pool_id": "", 442 | "pool_token": "NTRN" 443 | }, 444 | { 445 | "pool_id": "", 446 | "pool_token": "USDC_AXELAR" 447 | } 448 | ] 449 | ] 450 | } 451 | } 452 | }, 453 | "definitions": [ 454 | "This is the descriptor of the network topology, currencies and their usage at the Nolus AMM protocol.", 455 | "", 456 | "The network topology is represented as a collection of networks and the ICS-20 transfer channels that connect them.", 457 | "Some networks may have DEX services available. Their description contain the pools of interest for the Nolus AMM protocol.", 458 | "", 459 | "On a given network, each currency is identified by its 'ticker'. A currency with ticker NLS on a network NOLUS is required.", 460 | "The Nolus network description should not contain other currencies. They are defined in the 'protocols' object.", 461 | "", 462 | "A currency is either native or ibc on a network. In the latter case it points to the 'burning' currency residing at a network", 463 | "that is at one hop distance. In the former case it is described with name, symbol and number of decimal digits.", 464 | "", 465 | "The 'name' is a human-readable description of the currency", 466 | "", 467 | "The 'symbol' is the base denomination of the currency at its native chain.", 468 | "", 469 | "The 'decimal_digits' value represents the number of decimal digits this denomination has.", 470 | "For example, '6' for OSMO means 10^8 units of its base denomination uosmo are equal to 1 OSMO", 471 | "", 472 | "The 'icon' is an optional currency attribute that provides a visual representation of the currency at that network and the others", 473 | "where the currency might be sent over ibc. In other workds, if there is no icon attribute of an ibc originating currency then ", 474 | "the icon is derived from the network and currency it points to. This might be applied multiple times traversing the ibc path ", 475 | "toward its native network.", 476 | "", 477 | "The currency symbol at a given network is either equal to the currency 'symbol' if it is a native for that network, or ", 478 | "'ibc/' + sha256('transfer' + '/' + ch[0] + '/' + ... + 'transfer' + '/' + ch[k] + '/' + symbol) if it is a native on ", 479 | "network 'K' reachable through a sequence of channels with names 'ch[0]', 'ch[1]' ... 'ch[k]' at their minting side.", 480 | "More info is available [here](https://github.com/cosmos/ibc-go/blob/c86d27fc280cfb342a9e4689b381e5823441b694/modules/apps/transfer/types/trace.go#L19).", 481 | "", 482 | "The usage of the currencies at the Nolus AMM protocol is described with a dictionary of 'protocols' JSON objects", 483 | "The key has the structure _. The first property of a protocol, 'DexNetwork', is the name of the network it operates on.", 484 | "Each currency is classified as either Lpn, Lease or Native. Lpn contains the Lpp currencies. Lease currencies are the ones ", 485 | "customers may open lease in. Native defines the native currency for the Nolus AMM protocol.", 486 | "Leases may be paid with any of the provided currencies.", 487 | "", 488 | "Each of the currencies should provide in the 'swap_routes' array a separate swapping route to each of the Lpn currencies.", 489 | "That holds true for the Lpn currencies, for example, if there are three Lpn items then each of them should provide two paths, ", 490 | "each ending to some of the other currency", 491 | "Routes should refer to pools at the closest DEX common for the currency and its Lpn. Nolus AMM uses the swapping routes ", 492 | "to obtain prices and order swap transactions.", 493 | "Please note, that some pools may not be limited to operate only on two currencies, therefore DEX APIs and", 494 | "Nolus AMM swapping routes always specify the target currency within the pool." 495 | ] 496 | } -------------------------------------------------------------------------------- /testnet/nolus-rila/docker-node.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | CUSTOM_MONIKER=docker_node 4 | DESTINATION=~/.nolus/config/genesis.json 5 | 6 | # initialize node if no nolus folder found 7 | if [ ! -d ~/.nolus ] ; then 8 | nolusd init $CUSTOM_MONIKER 9 | fi 10 | 11 | # set genesis.json 12 | if [ -f genesis.json ]; then 13 | cp genesis.json $DESTINATION 14 | fi 15 | 16 | # set persistent peers in config.toml 17 | if [ -f ~/.nolus/config/config.toml ]; then 18 | sed -i.bak -e "s~^persistent_peers *=.*~persistent_peers = \"$(cat persistent_peers.txt)\"~" ~/.nolus/config/config.toml 19 | fi 20 | 21 | # set the minimum gas price to 0.0025unls 22 | if [ -f ~/.nolus/config/app.toml ]; then 23 | sed -i "s|0stake|0.0025unls|g" ~/.nolus/config/app.toml 24 | fi 25 | -------------------------------------------------------------------------------- /testnet/nolus-rila/nolus_node.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.14 2 | ARG ARTIFACT_BIN="nolus.tar.gz" 3 | ARG CUSTOM_MONIKER=docker_generated_node 4 | ARG NETWORK 5 | ARG VERSION 6 | 7 | RUN wget -O $ARTIFACT_BIN "https://github.com/Nolus-Protocol/nolus-core/releases/download/$VERSION/nolus.tar.gz" \ 8 | && tar -xvf $ARTIFACT_BIN --directory /usr/bin/ 9 | 10 | RUN apk add --no-cache bash 11 | RUN echo $NETWORK 12 | RUN wget -O genesis.json "https://raw.githubusercontent.com/Nolus-Protocol/nolus-networks/main/$NETWORK/genesis.json" 13 | RUN wget -O persistent_peers.txt "https://raw.githubusercontent.com/Nolus-Protocol/nolus-networks/main/$NETWORK/persistent_peers.txt" 14 | 15 | COPY docker-node.sh docker-node.sh 16 | RUN chmod +x docker-node.sh 17 | 18 | # tendermint p2p 19 | EXPOSE 26656 20 | 21 | ENTRYPOINT /docker-node.sh ; nolusd start -------------------------------------------------------------------------------- /testnet/nolus-rila/persistent_peers.txt: -------------------------------------------------------------------------------- 1 | 56cee116ac477689df3b4d86cea5e49cfb450dda@54.246.232.38:26656,56f14005119e17ffb4ef3091886e6f7efd375bfd@34.241.107.0:26656,7f26067679b4323496319fda007a279b52387d77@63.35.222.83:26656,7f4a1876560d807bb049b2e0d0aa4c60cc83aa0a@63.32.88.49:26656,3889ba7efc588b6ec6bdef55a7295f3dd559ebd7@3.249.209.26:26656,de7b54f988a5d086656dcb588f079eb7367f6033@34.244.137.169:26656 2 | -------------------------------------------------------------------------------- /testnet/nolus-rila/version.md: -------------------------------------------------------------------------------- 1 | v0.1.39 -------------------------------------------------------------------------------- /testnet/rila-1/currencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "networks": { 3 | "list": { 4 | "NOLUS": { 5 | "currencies": { 6 | "NLS": { 7 | "native": { 8 | "name": "Nolus", 9 | "symbol": "unls", 10 | "ticker": "NLS", 11 | "decimal_digits": "6" 12 | } 13 | } 14 | } 15 | }, 16 | "OSMOSIS": { 17 | "currencies": { 18 | "OSMO": { 19 | "native": { 20 | "name": "Osmosis OSMO", 21 | "symbol": "uosmo", 22 | "ticker": "OSMO", 23 | "decimal_digits": "6" 24 | }, 25 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-osmo.svg" 26 | }, 27 | "USDC_AXELAR": { 28 | "ibc": { 29 | "network": "AXELAR", 30 | "currency": "USDC" 31 | }, 32 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-usdc.svg" 33 | }, 34 | "ATOM": { 35 | "ibc": { 36 | "network": "COSMOS_HUB", 37 | "currency": "ATOM" 38 | }, 39 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-atom.svg" 40 | }, 41 | "NLS": { 42 | "ibc": { 43 | "network": "NOLUS", 44 | "currency": "NLS" 45 | }, 46 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-nls.svg" 47 | }, 48 | "AKT": { 49 | "ibc": { 50 | "network": "AKASH", 51 | "currency": "AKT" 52 | }, 53 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-akt.svg" 54 | }, 55 | "JUNO": { 56 | "ibc": { 57 | "network": "JUNO", 58 | "currency": "JUNO" 59 | }, 60 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-juno.svg" 61 | } 62 | }, 63 | "amm_pools": [ 64 | { 65 | "id": "12", 66 | "token_0": "ATOM", 67 | "token_1": "OSMO" 68 | }, 69 | { 70 | "id": "5", 71 | "token_0": "OSMO", 72 | "token_1": "USDC_AXELAR" 73 | }, 74 | { 75 | "id": "323", 76 | "token_0": "NLS", 77 | "token_1": "USDC_AXELAR" 78 | }, 79 | { 80 | "id": "18", 81 | "token_0": "AKT", 82 | "token_1": "OSMO" 83 | } 84 | ] 85 | }, 86 | "AXELAR": { 87 | "currencies": { 88 | "USDC": { 89 | "native": { 90 | "name": "Usdc", 91 | "symbol": "uausdc", 92 | "ticker": "USDC", 93 | "decimal_digits": "6" 94 | } 95 | } 96 | } 97 | }, 98 | "COSMOS_HUB": { 99 | "currencies": { 100 | "ATOM": { 101 | "native": { 102 | "name": "Cosmos Hub ATOM", 103 | "symbol": "uatom", 104 | "ticker": "ATOM", 105 | "decimal_digits": "6" 106 | } 107 | } 108 | } 109 | }, 110 | "AKASH": { 111 | "currencies": { 112 | "AKT": { 113 | "native": { 114 | "name": "Akash", 115 | "symbol": "uakt", 116 | "ticker": "AKT", 117 | "decimal_digits": "6" 118 | } 119 | } 120 | } 121 | }, 122 | "JUNO": { 123 | "currencies": { 124 | "JUNO": { 125 | "native": { 126 | "name": "Juno", 127 | "symbol": "ujunox", 128 | "ticker": "JUNO", 129 | "decimal_digits": "6" 130 | } 131 | } 132 | } 133 | }, 134 | "NEUTRON": { 135 | "currencies": { 136 | "NTRN": { 137 | "native": { 138 | "name": "Neutron", 139 | "symbol": "untrn", 140 | "ticker": "NTRN", 141 | "decimal_digits": "6" 142 | }, 143 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-ntrn.svg" 144 | }, 145 | "USDC_AXELAR": { 146 | "ibc": { 147 | "network": "AXELAR", 148 | "currency": "USDC" 149 | }, 150 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-usdc.svg" 151 | }, 152 | "ATOM": { 153 | "ibc": { 154 | "network": "COSMOS_HUB", 155 | "currency": "ATOM" 156 | }, 157 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-atom.svg" 158 | }, 159 | "NLS": { 160 | "ibc": { 161 | "network": "NOLUS", 162 | "currency": "NLS" 163 | }, 164 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-nls.svg" 165 | } 166 | }, 167 | "amm_pools": [ 168 | { 169 | "id": "", 170 | "token_0": "NTRN", 171 | "token_1": "USDC_AXELAR" 172 | }, 173 | { 174 | "id": "", 175 | "token_0": "ATOM", 176 | "token_1": "USDC_AXELAR" 177 | }, 178 | { 179 | "id": "", 180 | "token_0": "NTRN", 181 | "token_1": "NLS" 182 | } 183 | ] 184 | } 185 | }, 186 | "channels": [ 187 | { 188 | "a": { 189 | "network": "NOLUS", 190 | "ch": "channel-1993" 191 | }, 192 | "b": { 193 | "network": "OSMOSIS", 194 | "ch": "channel-4508" 195 | } 196 | }, 197 | { 198 | "a": { 199 | "network": "OSMOSIS", 200 | "ch": "channel-3" 201 | }, 202 | "b": { 203 | "network": "AXELAR", 204 | "ch": "channel-227" 205 | } 206 | }, 207 | { 208 | "a": { 209 | "network": "OSMOSIS", 210 | "ch": "channel-73" 211 | }, 212 | "b": { 213 | "network": "AKASH", 214 | "ch": "channel-1" 215 | } 216 | }, 217 | { 218 | "a": { 219 | "network": "COSMOS_HUB", 220 | "ch": "channel-2500" 221 | }, 222 | "b": { 223 | "network": "OSMOSIS", 224 | "ch": "channel-12" 225 | } 226 | }, 227 | { 228 | "a": { 229 | "network": "OSMOSIS", 230 | "ch": "channel-1" 231 | }, 232 | "b": { 233 | "network": "JUNO", 234 | "ch": "channel-190" 235 | } 236 | }, 237 | { 238 | "a": { 239 | "network": "NOLUS", 240 | "ch": "channel-1990" 241 | }, 242 | "b": { 243 | "network": "NEUTRON", 244 | "ch": "channel-208" 245 | } 246 | }, 247 | { 248 | "a": { 249 | "network": "NEUTRON", 250 | "ch": "channel-8" 251 | }, 252 | "b": { 253 | "network": "AXELAR", 254 | "ch": "channel-237" 255 | } 256 | }, 257 | { 258 | "a": { 259 | "network": "NEUTRON", 260 | "ch": "channel-1" 261 | }, 262 | "b": { 263 | "network": "COSMOS_HUB", 264 | "ch": "channel-16" 265 | } 266 | } 267 | ] 268 | }, 269 | "protocols": { 270 | "OSMOSIS-OSMOSIS-USDC-1": { 271 | "DexNetwork": "OSMOSIS", 272 | "Lpn": { 273 | "dex_currency": "USDC_AXELAR" 274 | }, 275 | "Lease": { 276 | "ATOM": { 277 | "dex_currency": "ATOM", 278 | "swap_routes": [ 279 | [ 280 | { 281 | "pool_id": "12", 282 | "pool_token": "OSMO" 283 | }, 284 | { 285 | "pool_id": "5", 286 | "pool_token": "USDC_AXELAR" 287 | } 288 | ] 289 | ] 290 | }, 291 | "OSMO": { 292 | "dex_currency": "OSMO", 293 | "swap_routes": [ 294 | [ 295 | { 296 | "pool_id": "5", 297 | "pool_token": "USDC_AXELAR" 298 | } 299 | ] 300 | ] 301 | }, 302 | "AKT": { 303 | "dex_currency": "AKT", 304 | "swap_routes": [ 305 | [ 306 | { 307 | "pool_id": "18", 308 | "pool_token": "OSMO" 309 | }, 310 | { 311 | "pool_id": "5", 312 | "pool_token": "USDC_AXELAR" 313 | } 314 | ] 315 | ] 316 | }, 317 | "JUNO": { 318 | "dex_currency": "JUNO", 319 | "swap_routes": [ 320 | [ 321 | { 322 | "pool_id": "3", 323 | "pool_token": "OSMO" 324 | }, 325 | { 326 | "pool_id": "5", 327 | "pool_token": "USDC_AXELAR" 328 | } 329 | ] 330 | ] 331 | } 332 | }, 333 | "Native": { 334 | "dex_currency": "NLS", 335 | "swap_routes": [ 336 | [ 337 | { 338 | "pool_id": "323", 339 | "pool_token": "USDC_AXELAR" 340 | } 341 | ] 342 | ] 343 | } 344 | }, 345 | "NEUTRON-ASTROPORT-USDC_AXELAR": { 346 | "DexNetwork": "NEUTRON", 347 | "Lpn": { 348 | "dex_currency": "USDC_AXELAR" 349 | }, 350 | "Lease": { 351 | "ATOM": { 352 | "dex_currency": "ATOM", 353 | "swap_routes": [ 354 | [ 355 | { 356 | "pool_id": "", 357 | "pool_token": "USDC_AXELAR" 358 | } 359 | ] 360 | ] 361 | }, 362 | "NTRN": { 363 | "dex_currency": "NTRN", 364 | "swap_routes": [ 365 | [ 366 | { 367 | "pool_id": "", 368 | "pool_token": "USDC_AXELAR" 369 | } 370 | ] 371 | ] 372 | } 373 | }, 374 | "Native": { 375 | "dex_currency": "NLS", 376 | "swap_routes": [ 377 | [ 378 | { 379 | "pool_id": "", 380 | "pool_token": "NTRN" 381 | }, 382 | { 383 | "pool_id": "", 384 | "pool_token": "USDC_AXELAR" 385 | } 386 | ] 387 | ] 388 | } 389 | } 390 | }, 391 | "definitions": [ 392 | "This is the descriptor of the network topology, currencies and their usage at the Nolus AMM protocol.", 393 | "", 394 | "The network topology is represented as a collection of networks and the ICS-20 transfer channels that connect them.", 395 | "Some networks may have DEX services available. Their description contain the pools of interest for the Nolus AMM protocol.", 396 | "", 397 | "On a given network, each currency is identified by its 'ticker'. A currency with ticker NLS on a network NOLUS is required.", 398 | "The Nolus network description should not contain other currencies. They are defined in the 'protocols' object.", 399 | "", 400 | "A currency is either native or ibc on a network. In the latter case it points to the 'burning' currency residing at a network", 401 | "that is at one hop distance. In the former case it is described with name, symbol and number of decimal digits.", 402 | "", 403 | "The 'name' is a human-readable description of the currency", 404 | "", 405 | "The 'symbol' is the base denomination of the currency at its native chain.", 406 | "", 407 | "The 'decimal_digits' value represents the number of decimal digits this denomination has.", 408 | "For example, '6' for OSMO means 10^8 units of its base denomination uosmo are equal to 1 OSMO", 409 | "", 410 | "The 'icon' is an optional currency attribute that provides a visual representation of the currency at that network and the others", 411 | "where the currency might be sent over ibc. In other workds, if there is no icon attribute of an ibc originating currency then ", 412 | "the icon is derived from the network and currency it points to. This might be applied multiple times traversing the ibc path ", 413 | "toward its native network.", 414 | "", 415 | "The currency symbol at a given network is either equal to the currency 'symbol' if it is a native for that network, or ", 416 | "'ibc/' + sha256('transfer' + '/' + ch[0] + '/' + ... + 'transfer' + '/' + ch[k] + '/' + symbol) if it is a native on ", 417 | "network 'K' reachable through a sequence of channels with names 'ch[0]', 'ch[1]' ... 'ch[k]' at their minting side.", 418 | "More info is available [here](https://github.com/cosmos/ibc-go/blob/c86d27fc280cfb342a9e4689b381e5823441b694/modules/apps/transfer/types/trace.go#L19).", 419 | "", 420 | "The usage of the currencies at the Nolus AMM protocol is described with a dictionary of 'protocols' JSON objects", 421 | "The key has the structure _. The first property of a protocol, 'DexNetwork', is the name of the network it operates on.", 422 | "Each currency is classified as either Lpn, Lease or Native. Lpn contains the Lpp currencies. Lease currencies are the ones ", 423 | "customers may open lease in. Native defines the native currency for the Nolus AMM protocol.", 424 | "Leases may be paid with any of the provided currencies.", 425 | "", 426 | "Each of the currencies should provide in the 'swap_routes' array a separate swapping route to each of the Lpn currencies.", 427 | "That holds true for the Lpn currencies, for example, if there are three Lpn items then each of them should provide two paths, ", 428 | "each ending to some of the other currency", 429 | "Routes should refer to pools at the closest DEX common for the currency and its Lpn. Nolus AMM uses the swapping routes ", 430 | "to obtain prices and order swap transactions.", 431 | "Please note, that some pools may not be limited to operate only on two currencies, therefore DEX APIs and", 432 | "Nolus AMM swapping routes always specify the target currency within the pool." 433 | ] 434 | } 435 | -------------------------------------------------------------------------------- /testnet/rila-1/peers.txt: -------------------------------------------------------------------------------- 1 | 388acecb06c21f4ea243d3ba756d28965ae6ed00@78.128.61.41:26611 2 | -------------------------------------------------------------------------------- /testnet/rila-2/currencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "networks": { 3 | "list": { 4 | "NOLUS": { 5 | "currencies": { 6 | "NLS": { 7 | "native": { 8 | "name": "Nolus", 9 | "symbol": "unls", 10 | "ticker": "NLS", 11 | "decimal_digits": "6" 12 | } 13 | } 14 | } 15 | }, 16 | "OSMOSIS": { 17 | "currencies": { 18 | "OSMO": { 19 | "native": { 20 | "name": "Osmosis OSMO", 21 | "symbol": "uosmo", 22 | "ticker": "OSMO", 23 | "decimal_digits": "6" 24 | }, 25 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-osmo.svg" 26 | }, 27 | "USDC_AXELAR": { 28 | "ibc": { 29 | "network": "AXELAR", 30 | "currency": "USDC" 31 | }, 32 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-usdc.svg" 33 | }, 34 | "ATOM": { 35 | "ibc": { 36 | "network": "COSMOS_HUB", 37 | "currency": "ATOM" 38 | }, 39 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-atom.svg" 40 | }, 41 | "NLS": { 42 | "ibc": { 43 | "network": "NOLUS", 44 | "currency": "NLS" 45 | }, 46 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-nls.svg" 47 | }, 48 | "AKT": { 49 | "ibc": { 50 | "network": "AKASH", 51 | "currency": "AKT" 52 | }, 53 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-akt.svg" 54 | }, 55 | "JUNO": { 56 | "ibc": { 57 | "network": "JUNO", 58 | "currency": "JUNO" 59 | }, 60 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-juno.svg" 61 | } 62 | }, 63 | "amm_pools": [ 64 | { 65 | "id": "12", 66 | "token_0": "ATOM", 67 | "token_1": "OSMO" 68 | }, 69 | { 70 | "id": "5", 71 | "token_0": "OSMO", 72 | "token_1": "USDC_AXELAR" 73 | }, 74 | { 75 | "id": "323", 76 | "token_0": "NLS", 77 | "token_1": "USDC_AXELAR" 78 | }, 79 | { 80 | "id": "18", 81 | "token_0": "AKT", 82 | "token_1": "OSMO" 83 | } 84 | ] 85 | }, 86 | "AXELAR": { 87 | "currencies": { 88 | "USDC": { 89 | "native": { 90 | "name": "Usdc", 91 | "symbol": "uausdc", 92 | "ticker": "USDC", 93 | "decimal_digits": "6" 94 | } 95 | } 96 | } 97 | }, 98 | "COSMOS_HUB": { 99 | "currencies": { 100 | "ATOM": { 101 | "native": { 102 | "name": "Cosmos Hub ATOM", 103 | "symbol": "uatom", 104 | "ticker": "ATOM", 105 | "decimal_digits": "6" 106 | } 107 | } 108 | } 109 | }, 110 | "AKASH": { 111 | "currencies": { 112 | "AKT": { 113 | "native": { 114 | "name": "Akash", 115 | "symbol": "uakt", 116 | "ticker": "AKT", 117 | "decimal_digits": "6" 118 | } 119 | } 120 | } 121 | }, 122 | "JUNO": { 123 | "currencies": { 124 | "JUNO": { 125 | "native": { 126 | "name": "Juno", 127 | "symbol": "ujunox", 128 | "ticker": "JUNO", 129 | "decimal_digits": "6" 130 | } 131 | } 132 | } 133 | }, 134 | "NEUTRON": { 135 | "currencies": { 136 | "NTRN": { 137 | "native": { 138 | "name": "Neutron", 139 | "symbol": "untrn", 140 | "ticker": "NTRN", 141 | "decimal_digits": "6" 142 | }, 143 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-ntrn.svg" 144 | }, 145 | "USDC_AXELAR": { 146 | "ibc": { 147 | "network": "AXELAR", 148 | "currency": "USDC" 149 | }, 150 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-usdc.svg" 151 | }, 152 | "ATOM": { 153 | "ibc": { 154 | "network": "COSMOS_HUB", 155 | "currency": "ATOM" 156 | }, 157 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-atom.svg" 158 | }, 159 | "NLS": { 160 | "ibc": { 161 | "network": "NOLUS", 162 | "currency": "NLS" 163 | }, 164 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-nls.svg" 165 | } 166 | }, 167 | "amm_pools": [ 168 | { 169 | "id": "", 170 | "token_0": "NTRN", 171 | "token_1": "USDC_AXELAR" 172 | }, 173 | { 174 | "id": "", 175 | "token_0": "ATOM", 176 | "token_1": "USDC_AXELAR" 177 | }, 178 | { 179 | "id": "", 180 | "token_0": "NTRN", 181 | "token_1": "NLS" 182 | } 183 | ] 184 | } 185 | }, 186 | "channels": [ 187 | { 188 | "a": { 189 | "network": "NOLUS", 190 | "ch": "channel-0" 191 | }, 192 | "b": { 193 | "network": "OSMOSIS", 194 | "ch": "channel-8264" 195 | } 196 | }, 197 | { 198 | "a": { 199 | "network": "OSMOSIS", 200 | "ch": "channel-3" 201 | }, 202 | "b": { 203 | "network": "AXELAR", 204 | "ch": "channel-227" 205 | } 206 | }, 207 | { 208 | "a": { 209 | "network": "OSMOSIS", 210 | "ch": "channel-73" 211 | }, 212 | "b": { 213 | "network": "AKASH", 214 | "ch": "channel-1" 215 | } 216 | }, 217 | { 218 | "a": { 219 | "network": "COSMOS_HUB", 220 | "ch": "channel-2500" 221 | }, 222 | "b": { 223 | "network": "OSMOSIS", 224 | "ch": "channel-12" 225 | } 226 | }, 227 | { 228 | "a": { 229 | "network": "OSMOSIS", 230 | "ch": "channel-1" 231 | }, 232 | "b": { 233 | "network": "JUNO", 234 | "ch": "channel-190" 235 | } 236 | }, 237 | { 238 | "a": { 239 | "network": "NOLUS", 240 | "ch": "channel-1" 241 | }, 242 | "b": { 243 | "network": "NEUTRON", 244 | "ch": "channel-1047" 245 | } 246 | }, 247 | { 248 | "a": { 249 | "network": "NEUTRON", 250 | "ch": "channel-8" 251 | }, 252 | "b": { 253 | "network": "AXELAR", 254 | "ch": "channel-237" 255 | } 256 | }, 257 | { 258 | "a": { 259 | "network": "NEUTRON", 260 | "ch": "channel-1" 261 | }, 262 | "b": { 263 | "network": "COSMOS_HUB", 264 | "ch": "channel-16" 265 | } 266 | } 267 | ] 268 | }, 269 | "protocols": { 270 | "OSMOSIS-OSMOSIS-USDC-1": { 271 | "DexNetwork": "OSMOSIS", 272 | "Lpn": { 273 | "dex_currency": "USDC_AXELAR" 274 | }, 275 | "Lease": { 276 | "ATOM": { 277 | "dex_currency": "ATOM", 278 | "swap_routes": [ 279 | [ 280 | { 281 | "pool_id": "12", 282 | "pool_token": "OSMO" 283 | }, 284 | { 285 | "pool_id": "5", 286 | "pool_token": "USDC_AXELAR" 287 | } 288 | ] 289 | ] 290 | }, 291 | "OSMO": { 292 | "dex_currency": "OSMO", 293 | "swap_routes": [ 294 | [ 295 | { 296 | "pool_id": "5", 297 | "pool_token": "USDC_AXELAR" 298 | } 299 | ] 300 | ] 301 | }, 302 | "AKT": { 303 | "dex_currency": "AKT", 304 | "swap_routes": [ 305 | [ 306 | { 307 | "pool_id": "18", 308 | "pool_token": "OSMO" 309 | }, 310 | { 311 | "pool_id": "5", 312 | "pool_token": "USDC_AXELAR" 313 | } 314 | ] 315 | ] 316 | }, 317 | "JUNO": { 318 | "dex_currency": "JUNO", 319 | "swap_routes": [ 320 | [ 321 | { 322 | "pool_id": "3", 323 | "pool_token": "OSMO" 324 | }, 325 | { 326 | "pool_id": "5", 327 | "pool_token": "USDC_AXELAR" 328 | } 329 | ] 330 | ] 331 | } 332 | }, 333 | "Native": { 334 | "dex_currency": "NLS", 335 | "swap_routes": [ 336 | [ 337 | { 338 | "pool_id": "323", 339 | "pool_token": "USDC_AXELAR" 340 | } 341 | ] 342 | ] 343 | } 344 | }, 345 | "NEUTRON-ASTROPORT-USDC_AXELAR": { 346 | "DexNetwork": "NEUTRON", 347 | "Lpn": { 348 | "dex_currency": "USDC_AXELAR" 349 | }, 350 | "Lease": { 351 | "ATOM": { 352 | "dex_currency": "ATOM", 353 | "swap_routes": [ 354 | [ 355 | { 356 | "pool_id": "", 357 | "pool_token": "USDC_AXELAR" 358 | } 359 | ] 360 | ] 361 | }, 362 | "NTRN": { 363 | "dex_currency": "NTRN", 364 | "swap_routes": [ 365 | [ 366 | { 367 | "pool_id": "", 368 | "pool_token": "USDC_AXELAR" 369 | } 370 | ] 371 | ] 372 | } 373 | }, 374 | "Native": { 375 | "dex_currency": "NLS", 376 | "swap_routes": [ 377 | [ 378 | { 379 | "pool_id": "", 380 | "pool_token": "NTRN" 381 | }, 382 | { 383 | "pool_id": "", 384 | "pool_token": "USDC_AXELAR" 385 | } 386 | ] 387 | ] 388 | } 389 | } 390 | }, 391 | "definitions": [ 392 | "This is the descriptor of the network topology, currencies and their usage at the Nolus AMM protocol.", 393 | "", 394 | "The network topology is represented as a collection of networks and the ICS-20 transfer channels that connect them.", 395 | "Some networks may have DEX services available. Their description contain the pools of interest for the Nolus AMM protocol.", 396 | "", 397 | "On a given network, each currency is identified by its 'ticker'. A currency with ticker NLS on a network NOLUS is required.", 398 | "The Nolus network description should not contain other currencies. They are defined in the 'protocols' object.", 399 | "", 400 | "A currency is either native or ibc on a network. In the latter case it points to the 'burning' currency residing at a network", 401 | "that is at one hop distance. In the former case it is described with name, symbol and number of decimal digits.", 402 | "", 403 | "The 'name' is a human-readable description of the currency", 404 | "", 405 | "The 'symbol' is the base denomination of the currency at its native chain.", 406 | "", 407 | "The 'decimal_digits' value represents the number of decimal digits this denomination has.", 408 | "For example, '6' for OSMO means 10^8 units of its base denomination uosmo are equal to 1 OSMO", 409 | "", 410 | "The 'icon' is an optional currency attribute that provides a visual representation of the currency at that network and the others", 411 | "where the currency might be sent over ibc. In other workds, if there is no icon attribute of an ibc originating currency then ", 412 | "the icon is derived from the network and currency it points to. This might be applied multiple times traversing the ibc path ", 413 | "toward its native network.", 414 | "", 415 | "The currency symbol at a given network is either equal to the currency 'symbol' if it is a native for that network, or ", 416 | "'ibc/' + sha256('transfer' + '/' + ch[0] + '/' + ... + 'transfer' + '/' + ch[k] + '/' + symbol) if it is a native on ", 417 | "network 'K' reachable through a sequence of channels with names 'ch[0]', 'ch[1]' ... 'ch[k]' at their minting side.", 418 | "More info is available [here](https://github.com/cosmos/ibc-go/blob/c86d27fc280cfb342a9e4689b381e5823441b694/modules/apps/transfer/types/trace.go#L19).", 419 | "", 420 | "The usage of the currencies at the Nolus AMM protocol is described with a dictionary of 'protocols' JSON objects", 421 | "The key has the structure _. The first property of a protocol, 'DexNetwork', is the name of the network it operates on.", 422 | "Each currency is classified as either Lpn, Lease or Native. Lpn contains the Lpp currencies. Lease currencies are the ones ", 423 | "customers may open lease in. Native defines the native currency for the Nolus AMM protocol.", 424 | "Leases may be paid with any of the provided currencies.", 425 | "", 426 | "Each of the currencies should provide in the 'swap_routes' array a separate swapping route to each of the Lpn currencies.", 427 | "That holds true for the Lpn currencies, for example, if there are three Lpn items then each of them should provide two paths, ", 428 | "each ending to some of the other currency", 429 | "Routes should refer to pools at the closest DEX common for the currency and its Lpn. Nolus AMM uses the swapping routes ", 430 | "to obtain prices and order swap transactions.", 431 | "Please note, that some pools may not be limited to operate only on two currencies, therefore DEX APIs and", 432 | "Nolus AMM swapping routes always specify the target currency within the pool." 433 | ] 434 | } 435 | -------------------------------------------------------------------------------- /testnet/rila-2/peers.txt: -------------------------------------------------------------------------------- 1 | adeed4afbdcbce15181fa0e213e14445835175a1@78.128.61.47:26691 2 | -------------------------------------------------------------------------------- /testnet/rila-3/currencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "networks": { 3 | "list": { 4 | "NOLUS": { 5 | "currencies": { 6 | "NLS": { 7 | "native": { 8 | "name": "Nolus", 9 | "symbol": "unls", 10 | "ticker": "NLS", 11 | "decimal_digits": "6" 12 | } 13 | } 14 | } 15 | }, 16 | "OSMOSIS": { 17 | "currencies": { 18 | "OSMO": { 19 | "native": { 20 | "name": "Osmosis OSMO", 21 | "symbol": "uosmo", 22 | "ticker": "OSMO", 23 | "decimal_digits": "6" 24 | }, 25 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-osmo.svg" 26 | }, 27 | "USDC_AXELAR": { 28 | "ibc": { 29 | "network": "AXELAR", 30 | "currency": "USDC" 31 | }, 32 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-usdc.svg" 33 | }, 34 | "ATOM": { 35 | "ibc": { 36 | "network": "COSMOS_HUB", 37 | "currency": "ATOM" 38 | }, 39 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-atom.svg" 40 | }, 41 | "NLS": { 42 | "ibc": { 43 | "network": "NOLUS", 44 | "currency": "NLS" 45 | }, 46 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-nls.svg" 47 | }, 48 | "AKT": { 49 | "ibc": { 50 | "network": "AKASH", 51 | "currency": "AKT" 52 | }, 53 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-akt.svg" 54 | }, 55 | "JUNO": { 56 | "ibc": { 57 | "network": "JUNO", 58 | "currency": "JUNO" 59 | }, 60 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-juno.svg" 61 | } 62 | }, 63 | "amm_pools": [ 64 | { 65 | "id": "12", 66 | "token_0": "ATOM", 67 | "token_1": "OSMO" 68 | }, 69 | { 70 | "id": "5", 71 | "token_0": "OSMO", 72 | "token_1": "USDC_AXELAR" 73 | }, 74 | { 75 | "id": "323", 76 | "token_0": "NLS", 77 | "token_1": "USDC_AXELAR" 78 | }, 79 | { 80 | "id": "18", 81 | "token_0": "AKT", 82 | "token_1": "OSMO" 83 | } 84 | ] 85 | }, 86 | "AXELAR": { 87 | "currencies": { 88 | "USDC": { 89 | "native": { 90 | "name": "Usdc", 91 | "symbol": "uausdc", 92 | "ticker": "USDC", 93 | "decimal_digits": "6" 94 | } 95 | } 96 | } 97 | }, 98 | "COSMOS_HUB": { 99 | "currencies": { 100 | "ATOM": { 101 | "native": { 102 | "name": "Cosmos Hub ATOM", 103 | "symbol": "uatom", 104 | "ticker": "ATOM", 105 | "decimal_digits": "6" 106 | } 107 | } 108 | } 109 | }, 110 | "AKASH": { 111 | "currencies": { 112 | "AKT": { 113 | "native": { 114 | "name": "Akash", 115 | "symbol": "uakt", 116 | "ticker": "AKT", 117 | "decimal_digits": "6" 118 | } 119 | } 120 | } 121 | }, 122 | "JUNO": { 123 | "currencies": { 124 | "JUNO": { 125 | "native": { 126 | "name": "Juno", 127 | "symbol": "ujunox", 128 | "ticker": "JUNO", 129 | "decimal_digits": "6" 130 | } 131 | } 132 | } 133 | }, 134 | "NEUTRON": { 135 | "currencies": { 136 | "NTRN": { 137 | "native": { 138 | "name": "Neutron", 139 | "symbol": "untrn", 140 | "ticker": "NTRN", 141 | "decimal_digits": "6" 142 | }, 143 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-ntrn.svg" 144 | }, 145 | "USDC_AXELAR": { 146 | "ibc": { 147 | "network": "AXELAR", 148 | "currency": "USDC" 149 | }, 150 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-usdc.svg" 151 | }, 152 | "ATOM": { 153 | "ibc": { 154 | "network": "COSMOS_HUB", 155 | "currency": "ATOM" 156 | }, 157 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-atom.svg" 158 | }, 159 | "NLS": { 160 | "ibc": { 161 | "network": "NOLUS", 162 | "currency": "NLS" 163 | }, 164 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-nls.svg" 165 | } 166 | }, 167 | "amm_pools": [ 168 | { 169 | "id": "", 170 | "token_0": "NTRN", 171 | "token_1": "USDC_AXELAR" 172 | }, 173 | { 174 | "id": "", 175 | "token_0": "ATOM", 176 | "token_1": "USDC_AXELAR" 177 | }, 178 | { 179 | "id": "", 180 | "token_0": "NTRN", 181 | "token_1": "NLS" 182 | } 183 | ] 184 | } 185 | }, 186 | "channels": [ 187 | { 188 | "a": { 189 | "network": "NOLUS", 190 | "ch": "channel-0" 191 | }, 192 | "b": { 193 | "network": "OSMOSIS", 194 | "ch": "channel-8272" 195 | } 196 | }, 197 | { 198 | "a": { 199 | "network": "OSMOSIS", 200 | "ch": "channel-3" 201 | }, 202 | "b": { 203 | "network": "AXELAR", 204 | "ch": "channel-227" 205 | } 206 | }, 207 | { 208 | "a": { 209 | "network": "OSMOSIS", 210 | "ch": "channel-73" 211 | }, 212 | "b": { 213 | "network": "AKASH", 214 | "ch": "channel-1" 215 | } 216 | }, 217 | { 218 | "a": { 219 | "network": "COSMOS_HUB", 220 | "ch": "channel-2500" 221 | }, 222 | "b": { 223 | "network": "OSMOSIS", 224 | "ch": "channel-12" 225 | } 226 | }, 227 | { 228 | "a": { 229 | "network": "OSMOSIS", 230 | "ch": "channel-1" 231 | }, 232 | "b": { 233 | "network": "JUNO", 234 | "ch": "channel-190" 235 | } 236 | }, 237 | { 238 | "a": { 239 | "network": "NOLUS", 240 | "ch": "channel-1" 241 | }, 242 | "b": { 243 | "network": "NEUTRON", 244 | "ch": "channel-1061" 245 | } 246 | }, 247 | { 248 | "a": { 249 | "network": "NEUTRON", 250 | "ch": "channel-8" 251 | }, 252 | "b": { 253 | "network": "AXELAR", 254 | "ch": "channel-237" 255 | } 256 | }, 257 | { 258 | "a": { 259 | "network": "NEUTRON", 260 | "ch": "channel-1" 261 | }, 262 | "b": { 263 | "network": "COSMOS_HUB", 264 | "ch": "channel-16" 265 | } 266 | } 267 | ] 268 | }, 269 | "protocols": { 270 | "OSMOSIS-OSMOSIS-USDC_AXELAR": { 271 | "DexNetwork": "OSMOSIS", 272 | "Lpn": { 273 | "dex_currency": "USDC" 274 | }, 275 | "Lease": { 276 | "ATOM": { 277 | "dex_currency": "ATOM" 278 | }, 279 | "OSMO": { 280 | "dex_currency": "OSMO" 281 | } 282 | }, 283 | "Native": { 284 | "dex_currency": "NLS" 285 | } 286 | }, 287 | "NEUTRON-ASTROPORT-USDC_AXL": { 288 | "DexNetwork": "NEUTRON", 289 | "Lpn": { 290 | "dex_currency": "USDC_AXELAR" 291 | }, 292 | "Lease": { 293 | "ATOM": { 294 | "dex_currency": "ATOM" 295 | }, 296 | "NTRN": { 297 | "dex_currency": "NTRN" 298 | } 299 | }, 300 | "Native": { 301 | "dex_currency": "NLS" 302 | } 303 | } 304 | }, 305 | "definitions": [ 306 | "This is the descriptor of the network topology, currencies and their usage at the Nolus AMM protocol.", 307 | "", 308 | "The network topology is represented as a collection of networks and the ICS-20 transfer channels that connect them.", 309 | "Some networks may have DEX services available. Their description contain the pools of interest for the Nolus AMM protocol.", 310 | "", 311 | "On a given network, each currency is identified by its 'ticker'. A currency with ticker NLS on a network NOLUS is required.", 312 | "The Nolus network description should not contain other currencies. They are defined in the 'protocols' object.", 313 | "", 314 | "A currency is either native or ibc on a network. In the latter case it points to the 'burning' currency residing at a network", 315 | "that is at one hop distance. In the former case it is described with name, symbol and number of decimal digits.", 316 | "", 317 | "The 'name' is a human-readable description of the currency", 318 | "", 319 | "The 'symbol' is the base denomination of the currency at its native chain.", 320 | "", 321 | "The 'decimal_digits' value represents the number of decimal digits this denomination has.", 322 | "For example, '6' for OSMO means 10^8 units of its base denomination uosmo are equal to 1 OSMO", 323 | "", 324 | "The 'icon' is an optional currency attribute that provides a visual representation of the currency at that network and the others", 325 | "where the currency might be sent over ibc. In other workds, if there is no icon attribute of an ibc originating currency then ", 326 | "the icon is derived from the network and currency it points to. This might be applied multiple times traversing the ibc path ", 327 | "toward its native network.", 328 | "", 329 | "The currency symbol at a given network is either equal to the currency 'symbol' if it is a native for that network, or ", 330 | "'ibc/' + sha256('transfer' + '/' + ch[0] + '/' + ... + 'transfer' + '/' + ch[k] + '/' + symbol) if it is a native on ", 331 | "network 'K' reachable through a sequence of channels with names 'ch[0]', 'ch[1]' ... 'ch[k]' at their minting side.", 332 | "More info is available [here](https://github.com/cosmos/ibc-go/blob/c86d27fc280cfb342a9e4689b381e5823441b694/modules/apps/transfer/types/trace.go#L19).", 333 | "", 334 | "The usage of the currencies at the Nolus AMM protocol is described with a dictionary of 'protocols' JSON objects", 335 | "The key has the structure _. The first property of a protocol, 'DexNetwork', is the name of the network it operates on.", 336 | "Each currency is classified as either Lpn, Lease or Native. Lpn contains the Lpp currencies. Lease currencies are the ones ", 337 | "customers may open lease in. Native defines the native currency for the Nolus AMM protocol.", 338 | "Leases may be paid with any of the provided currencies.", 339 | "", 340 | "Each of the currencies should provide in the 'swap_routes' array a separate swapping route to each of the Lpn currencies.", 341 | "That holds true for the Lpn currencies, for example, if there are three Lpn items then each of them should provide two paths, ", 342 | "each ending to some of the other currency", 343 | "Routes should refer to pools at the closest DEX common for the currency and its Lpn. Nolus AMM uses the swapping routes ", 344 | "to obtain prices and order swap transactions.", 345 | "Please note, that some pools may not be limited to operate only on two currencies, therefore DEX APIs and", 346 | "Nolus AMM swapping routes always specify the target currency within the pool." 347 | ] 348 | } 349 | -------------------------------------------------------------------------------- /testnet/rila-3/peers.txt: -------------------------------------------------------------------------------- 1 | d375aecddf734fc7beb21f3aab297c09968d9fbd@78.128.61.47:26611 2 | -------------------------------------------------------------------------------- /testnet/rila-3/protocols/neutron-astroport-usdc_axelar.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "astroport", 3 | "dex_network": "NEUTRON", 4 | "lpn_ticker": "USDC_AXELAR", 5 | "stable_currency_ticker": "USDC_AXELAR", 6 | "lease_currencies_tickers": [ 7 | "ATOM", 8 | "NTRN" 9 | ], 10 | "payment_only_currencies_tickers": [], 11 | "swap_pairs": { 12 | "USDC_AXELAR": [ 13 | "ATOM", 14 | "NTRN", 15 | "NLS" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /testnet/rila-3/protocols/osmosis-osmosis-osmo.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "OSMO", 5 | "stable_currency_ticker": "USDC_AXELAR", 6 | "lease_currencies_tickers": [ 7 | "USDC_AXELAR" 8 | ], 9 | "payment_only_currencies_tickers": [ 10 | "ATOM" 11 | ], 12 | "swap_pairs": { 13 | "OSMO": [ 14 | "ATOM", 15 | "USDC_AXELAR" 16 | ], 17 | "USDC_AXELAR": [ 18 | "NLS" 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /testnet/rila-3/protocols/osmosis-osmosis-usdc_axelar.json: -------------------------------------------------------------------------------- 1 | { 2 | "dex": "osmosis", 3 | "dex_network": "OSMOSIS", 4 | "lpn_ticker": "USDC", 5 | "stable_currency_ticker": "USDC", 6 | "lease_currencies_tickers": [ 7 | "AKT", 8 | "ATOM", 9 | "JUNO", 10 | "OSMO", 11 | "WBTC", 12 | "WETH" 13 | ], 14 | "payment_only_currencies_tickers": [ 15 | "USDC_NOBLE" 16 | ], 17 | "swap_pairs": { 18 | "OSMO": [ 19 | "ATOM" 20 | ], 21 | "USDC": [ 22 | "NLS", 23 | "OSMO" 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /testnet/rila-3/topology.json: -------------------------------------------------------------------------------- 1 | { 2 | "host_network": { 3 | "name": "NOLUS", 4 | "currency": { 5 | "id": "NLS", 6 | "native": { 7 | "name": "NLS", 8 | "symbol": "unls", 9 | "decimal_digits": 6 10 | } 11 | } 12 | }, 13 | "networks": { 14 | "AKASH": { 15 | "currencies": { 16 | "AKT": { 17 | "native": { 18 | "name": "AKT", 19 | "symbol": "uakt", 20 | "decimal_digits": 6 21 | } 22 | } 23 | } 24 | }, 25 | "AXELAR": { 26 | "currencies": { 27 | "USDC": { 28 | "native": { 29 | "name": "Axelar USDC", 30 | "symbol": "uausdc", 31 | "decimal_digits": 6 32 | } 33 | }, 34 | "WBTC": { 35 | "native": { 36 | "name": "Wrapped BTC", 37 | "symbol": "btc-satoshi", 38 | "decimal_digits": 8 39 | } 40 | }, 41 | "WETH": { 42 | "native": { 43 | "name": "Wrapped ETH", 44 | "symbol": "eth-wei", 45 | "decimal_digits": 18 46 | } 47 | } 48 | } 49 | }, 50 | "COSMOS_HUB": { 51 | "currencies": { 52 | "ATOM": { 53 | "native": { 54 | "name": "ATOM", 55 | "symbol": "uatom", 56 | "decimal_digits": 6 57 | } 58 | } 59 | } 60 | }, 61 | "JUNO": { 62 | "currencies": { 63 | "JUNO": { 64 | "native": { 65 | "name": "JUNO", 66 | "symbol": "ujunox", 67 | "decimal_digits": 6 68 | } 69 | } 70 | } 71 | }, 72 | "NEUTRON": { 73 | "currencies": { 74 | "ATOM": { 75 | "ibc": { 76 | "network": "COSMOS_HUB", 77 | "currency": "ATOM" 78 | }, 79 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-atom.svg" 80 | }, 81 | "NLS": { 82 | "ibc": { 83 | "network": "NOLUS", 84 | "currency": "NLS" 85 | }, 86 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-nls.svg" 87 | }, 88 | "NTRN": { 89 | "native": { 90 | "name": "NTRN", 91 | "symbol": "untrn", 92 | "decimal_digits": 6 93 | }, 94 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-ntrn.svg" 95 | }, 96 | "USDC_AXELAR": { 97 | "ibc": { 98 | "network": "AXELAR", 99 | "currency": "USDC" 100 | }, 101 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/neutron-usdc.svg" 102 | } 103 | }, 104 | "dexes": { 105 | "astroport": { 106 | "type": "astroport_test" 107 | } 108 | } 109 | }, 110 | "NOBLE": { 111 | "currencies": { 112 | "USDC": { 113 | "native": { 114 | "name": "USDC", 115 | "symbol": "uusdc", 116 | "decimal_digits": 6 117 | } 118 | } 119 | } 120 | }, 121 | "OSMOSIS": { 122 | "currencies": { 123 | "AKT": { 124 | "ibc": { 125 | "network": "AKASH", 126 | "currency": "AKT" 127 | }, 128 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-akt.svg" 129 | }, 130 | "ATOM": { 131 | "ibc": { 132 | "network": "COSMOS_HUB", 133 | "currency": "ATOM" 134 | }, 135 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-atom.svg" 136 | }, 137 | "JUNO": { 138 | "ibc": { 139 | "network": "JUNO", 140 | "currency": "JUNO" 141 | }, 142 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-juno.svg" 143 | }, 144 | "NLS": { 145 | "ibc": { 146 | "network": "NOLUS", 147 | "currency": "NLS" 148 | }, 149 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-nls.svg" 150 | }, 151 | "OSMO": { 152 | "native": { 153 | "name": "OSMO", 154 | "symbol": "uosmo", 155 | "decimal_digits": 6 156 | }, 157 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-osmo.svg" 158 | }, 159 | "USDC": { 160 | "ibc": { 161 | "network": "AXELAR", 162 | "currency": "USDC" 163 | }, 164 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-usdc.svg" 165 | }, 166 | "USDC_AXELAR": { 167 | "ibc": { 168 | "network": "AXELAR", 169 | "currency": "USDC" 170 | }, 171 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-usdc.svg" 172 | }, 173 | "USDC_NOBLE": { 174 | "ibc": { 175 | "network": "NOBLE", 176 | "currency": "USDC" 177 | }, 178 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-usdc.svg" 179 | }, 180 | "WBTC": { 181 | "ibc": { 182 | "network": "AXELAR", 183 | "currency": "WBTC" 184 | }, 185 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-wbtc.svg" 186 | }, 187 | "WETH": { 188 | "ibc": { 189 | "network": "AXELAR", 190 | "currency": "WETH" 191 | }, 192 | "icon": "https://raw.githubusercontent.com/nolus-protocol/webapp/main/src/config/currencies/icons/osmosis-weth.svg" 193 | } 194 | }, 195 | "dexes": { 196 | "osmosis": { 197 | "type": "osmosis" 198 | } 199 | } 200 | } 201 | }, 202 | "channels": { 203 | "NEUTRON": { 204 | "AXELAR": "channel-8", 205 | "COSMOS_HUB": "channel-1", 206 | "NOLUS": "channel-1061" 207 | }, 208 | "NOLUS": { 209 | "NEUTRON": "channel-1", 210 | "OSMOSIS": "channel-0" 211 | }, 212 | "OSMOSIS": { 213 | "AKASH": "channel-73", 214 | "AXELAR": "channel-3", 215 | "COSMOS_HUB": "channel-12", 216 | "JUNO": "channel-1", 217 | "NOBLE": "channel-4280", 218 | "NOLUS": "channel-8272" 219 | } 220 | } 221 | } 222 | -------------------------------------------------------------------------------- /topology.md: -------------------------------------------------------------------------------- 1 | This is the descriptor of the network topology and currencies of interest for the Nolus AMM protocol. 2 | 3 | The network topology is represented as a collection of networks and the ICS-20 transfer channels that connect them. 4 | Some networks may have DEX services available. 5 | Each DEX is uniquely named and should have a type supported by Nolus. 6 | The supported types are `osmosis`, `astroport_test`, and `astroport_main`. 7 | 8 | On a given network, each currency is identified by its 'ticker'. 9 | A currency with ticker `NLS` on a network `NOLUS` is required. 10 | The `NOLUS` network description should not contain other currencies. 11 | They are defined in the `currencies` object of each entry in the `networks` object. 12 | 13 | A currency is either native or an IBC one on a given network. 14 | In the former case it is described with name, symbol and number of decimal digits. 15 | In the latter case, it points to the "burning" currency residing at a network 16 | that is at one hop distance. 17 | 18 | The `name` is a human-readable description of the currency. 19 | The `symbol` is the base denomination of the currency at its native chain. 20 | The `decimal_digits` value represents the number of decimal digits this denomination has. 21 | For example, `6` for `OSMO` means `10^6` units of its base denomination, `uosmo`, are equal to 1 `OSMO`. 22 | 23 | The `icon` is an optional currency attribute that provides a visual representation of the currency. 24 | In other workds, if there is no icon attribute of an IBC currency, then the icon is derived from the network and currency it points to. 25 | This might be applied multiple times traversing the IBC path toward its native network. 26 | 27 | The currency's symbol at a given network depends on it's origin. 28 | 29 | For native currencies, it's equal to the value of the `symbol` field. It should be noted that in some instances the symbol can take other forms, including `factory//milkutia`. 30 | 31 | For non-native currencies, minted via an IBC transfer, the symbol is generated. 32 | The symbol of formed like follows: `"ibc/" + digest`, where `digest` is the output of the SHA2-256 ("SHA2") hashing algorithm. 33 | The input to the SHA2 algorithm is the concatenation of each channel ID prefixed by `transfer/` and suffixed by `/` (e.g. `transfer/channel-123`), and finally suffixed with the currency symbol on it's origin network. 34 | Example path used as input to the SHA2 algorithm is as follows: `transfer/channel-1/transfer/channel-2/unls`. 35 | More information is available [here](https://github.com/cosmos/ibc-go/blob/c86d27fc280cfb342a9e4689b381e5823441b694/modules/apps/transfer/types/trace.go#L19). 36 | --------------------------------------------------------------------------------