├── LEGAL.txt ├── README.md ├── mainnetv1 ├── artifacts │ ├── ethereum │ │ ├── git-ref │ │ ├── wormhole.abi │ │ ├── wormhole.txt │ │ ├── wrappedasset.abi │ │ └── wrappedasset.txt │ └── solana │ │ ├── bridge.so │ │ └── git-ref ├── guardianset │ └── v1.prototxt └── info.md ├── mainnetv2 ├── applications.md ├── guardianset │ ├── v1.prototxt │ ├── v2.prototxt │ ├── v3.prototxt │ └── v4.prototxt └── info.md ├── testnetv1 ├── artifacts │ └── terra │ │ ├── cw20_wrapped.wasm │ │ ├── git-ref │ │ └── wormhole.wasm ├── guardianset │ └── v1.prototxt ├── info.md └── wormQUDWQzs2NMcCU63Gr4QFtn6HiK69supbw7wnuR8.json └── testnetv2 ├── guardianset └── v1.prototxt └── info.md /LEGAL.txt: -------------------------------------------------------------------------------- 1 | The information and materials available through this repo (collectively, “Materials”) are available on an “AI IS” basis without warranties of any kind, either express or implied, including, but not limited to, warranties of merchantability, title, fitness for a particular purpose and non-infringement. You assume all risks associated with using the Materials, and digital assets and decentralized systems generally, including but not limited to, that: (a) digital assets are highly volatile; (b) using digital assets is inherently risky due to both features of such assets and the potential unauthorized acts of third parties; (c) you may not have ready access to digital assets; and (d) there is a risk of losing your digital assets or those owned by a third party. You agree that you will have no recourse against anyone else for any losses due to the use of the Materials. For example, these losses may arise from or relate to: (i) incorrect information; (ii) software or network failures; (iii) corrupted files; (iv) unauthorized access; (v) errors, mistakes, or inaccuracies; or (vi) third-party activities. 2 | 3 | You are solely responsible for using the Materials in compliance with applicable laws and regulations, including but not limited to, export control or sanctions laws of any applicable jurisdiction. You should be aware that U.S. export control and sanctions laws prohibit U.S. persons (and other persons that are subject to such laws) from transacting with persons in certain countries and territories or that are on the Specially Designated Nationals list. Accordingly, you must avoid providing the Materials to sanctioned persons because such activity could be a violation of U.S. export controls and sanctions law. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Wormhole Public Networks 2 | 3 | This repository contains launch, governance and other information about public Wormhole networks. 4 | 5 | ## Wormhole v1 6 | 7 | - [Testnet v1](testnetv1/info.md) 8 | - [Mainnet v1](mainnetv1/info.md) 9 | 10 | ## Wormhole v2 11 | 12 | - [Testnet v2](testnetv2/info.md) 13 | - [Mainnet v2](mainnetv2/info.md) 14 | -------------------------------------------------------------------------------- /mainnetv1/artifacts/ethereum/git-ref: -------------------------------------------------------------------------------- 1 | 41361c1b3f7cfaf9c2e60a5cb22a14a20baf3abd 2 | -------------------------------------------------------------------------------- /mainnetv1/artifacts/ethereum/wormhole.abi: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "inputs": [ 4 | { 5 | "components": [ 6 | { 7 | "internalType": "address[]", 8 | "name": "keys", 9 | "type": "address[]" 10 | }, 11 | { 12 | "internalType": "uint32", 13 | "name": "expiration_time", 14 | "type": "uint32" 15 | } 16 | ], 17 | "internalType": "struct Wormhole.GuardianSet", 18 | "name": "initial_guardian_set", 19 | "type": "tuple" 20 | }, 21 | { 22 | "internalType": "address", 23 | "name": "wrapped_asset_master", 24 | "type": "address" 25 | }, 26 | { 27 | "internalType": "uint32", 28 | "name": "_guardian_set_expirity", 29 | "type": "uint32" 30 | } 31 | ], 32 | "stateMutability": "nonpayable", 33 | "type": "constructor" 34 | }, 35 | { 36 | "anonymous": false, 37 | "inputs": [ 38 | { 39 | "indexed": false, 40 | "internalType": "uint32", 41 | "name": "oldGuardianIndex", 42 | "type": "uint32" 43 | }, 44 | { 45 | "indexed": false, 46 | "internalType": "uint32", 47 | "name": "newGuardianIndex", 48 | "type": "uint32" 49 | } 50 | ], 51 | "name": "LogGuardianSetChanged", 52 | "type": "event" 53 | }, 54 | { 55 | "anonymous": false, 56 | "inputs": [ 57 | { 58 | "indexed": false, 59 | "internalType": "uint8", 60 | "name": "target_chain", 61 | "type": "uint8" 62 | }, 63 | { 64 | "indexed": false, 65 | "internalType": "uint8", 66 | "name": "token_chain", 67 | "type": "uint8" 68 | }, 69 | { 70 | "indexed": false, 71 | "internalType": "uint8", 72 | "name": "token_decimals", 73 | "type": "uint8" 74 | }, 75 | { 76 | "indexed": true, 77 | "internalType": "bytes32", 78 | "name": "token", 79 | "type": "bytes32" 80 | }, 81 | { 82 | "indexed": true, 83 | "internalType": "bytes32", 84 | "name": "sender", 85 | "type": "bytes32" 86 | }, 87 | { 88 | "indexed": false, 89 | "internalType": "bytes32", 90 | "name": "recipient", 91 | "type": "bytes32" 92 | }, 93 | { 94 | "indexed": false, 95 | "internalType": "uint256", 96 | "name": "amount", 97 | "type": "uint256" 98 | }, 99 | { 100 | "indexed": false, 101 | "internalType": "uint32", 102 | "name": "nonce", 103 | "type": "uint32" 104 | } 105 | ], 106 | "name": "LogTokensLocked", 107 | "type": "event" 108 | }, 109 | { 110 | "stateMutability": "payable", 111 | "type": "fallback" 112 | }, 113 | { 114 | "inputs": [ 115 | { 116 | "internalType": "bytes32", 117 | "name": "", 118 | "type": "bytes32" 119 | } 120 | ], 121 | "name": "consumedVAAs", 122 | "outputs": [ 123 | { 124 | "internalType": "bool", 125 | "name": "", 126 | "type": "bool" 127 | } 128 | ], 129 | "stateMutability": "view", 130 | "type": "function" 131 | }, 132 | { 133 | "inputs": [ 134 | { 135 | "internalType": "uint32", 136 | "name": "idx", 137 | "type": "uint32" 138 | } 139 | ], 140 | "name": "getGuardianSet", 141 | "outputs": [ 142 | { 143 | "components": [ 144 | { 145 | "internalType": "address[]", 146 | "name": "keys", 147 | "type": "address[]" 148 | }, 149 | { 150 | "internalType": "uint32", 151 | "name": "expiration_time", 152 | "type": "uint32" 153 | } 154 | ], 155 | "internalType": "struct Wormhole.GuardianSet", 156 | "name": "gs", 157 | "type": "tuple" 158 | } 159 | ], 160 | "stateMutability": "view", 161 | "type": "function" 162 | }, 163 | { 164 | "inputs": [], 165 | "name": "guardian_set_expirity", 166 | "outputs": [ 167 | { 168 | "internalType": "uint32", 169 | "name": "", 170 | "type": "uint32" 171 | } 172 | ], 173 | "stateMutability": "view", 174 | "type": "function" 175 | }, 176 | { 177 | "inputs": [], 178 | "name": "guardian_set_index", 179 | "outputs": [ 180 | { 181 | "internalType": "uint32", 182 | "name": "", 183 | "type": "uint32" 184 | } 185 | ], 186 | "stateMutability": "view", 187 | "type": "function" 188 | }, 189 | { 190 | "inputs": [ 191 | { 192 | "internalType": "uint32", 193 | "name": "", 194 | "type": "uint32" 195 | } 196 | ], 197 | "name": "guardian_sets", 198 | "outputs": [ 199 | { 200 | "internalType": "uint32", 201 | "name": "expiration_time", 202 | "type": "uint32" 203 | } 204 | ], 205 | "stateMutability": "view", 206 | "type": "function" 207 | }, 208 | { 209 | "inputs": [ 210 | { 211 | "internalType": "address", 212 | "name": "", 213 | "type": "address" 214 | } 215 | ], 216 | "name": "isWrappedAsset", 217 | "outputs": [ 218 | { 219 | "internalType": "bool", 220 | "name": "", 221 | "type": "bool" 222 | } 223 | ], 224 | "stateMutability": "view", 225 | "type": "function" 226 | }, 227 | { 228 | "inputs": [ 229 | { 230 | "internalType": "address", 231 | "name": "asset", 232 | "type": "address" 233 | }, 234 | { 235 | "internalType": "uint256", 236 | "name": "amount", 237 | "type": "uint256" 238 | }, 239 | { 240 | "internalType": "bytes32", 241 | "name": "recipient", 242 | "type": "bytes32" 243 | }, 244 | { 245 | "internalType": "uint8", 246 | "name": "target_chain", 247 | "type": "uint8" 248 | }, 249 | { 250 | "internalType": "uint32", 251 | "name": "nonce", 252 | "type": "uint32" 253 | }, 254 | { 255 | "internalType": "bool", 256 | "name": "refund_dust", 257 | "type": "bool" 258 | } 259 | ], 260 | "name": "lockAssets", 261 | "outputs": [], 262 | "stateMutability": "nonpayable", 263 | "type": "function" 264 | }, 265 | { 266 | "inputs": [ 267 | { 268 | "internalType": "bytes32", 269 | "name": "recipient", 270 | "type": "bytes32" 271 | }, 272 | { 273 | "internalType": "uint8", 274 | "name": "target_chain", 275 | "type": "uint8" 276 | }, 277 | { 278 | "internalType": "uint32", 279 | "name": "nonce", 280 | "type": "uint32" 281 | } 282 | ], 283 | "name": "lockETH", 284 | "outputs": [], 285 | "stateMutability": "payable", 286 | "type": "function" 287 | }, 288 | { 289 | "inputs": [ 290 | { 291 | "internalType": "bytes", 292 | "name": "vaa", 293 | "type": "bytes" 294 | } 295 | ], 296 | "name": "parseAndVerifyVAA", 297 | "outputs": [ 298 | { 299 | "components": [ 300 | { 301 | "internalType": "uint8", 302 | "name": "version", 303 | "type": "uint8" 304 | }, 305 | { 306 | "internalType": "bytes32", 307 | "name": "hash", 308 | "type": "bytes32" 309 | }, 310 | { 311 | "internalType": "uint32", 312 | "name": "guardian_set_index", 313 | "type": "uint32" 314 | }, 315 | { 316 | "internalType": "uint32", 317 | "name": "timestamp", 318 | "type": "uint32" 319 | }, 320 | { 321 | "internalType": "uint8", 322 | "name": "action", 323 | "type": "uint8" 324 | }, 325 | { 326 | "internalType": "bytes", 327 | "name": "payload", 328 | "type": "bytes" 329 | } 330 | ], 331 | "internalType": "struct Wormhole.ParsedVAA", 332 | "name": "parsed_vaa", 333 | "type": "tuple" 334 | } 335 | ], 336 | "stateMutability": "view", 337 | "type": "function" 338 | }, 339 | { 340 | "inputs": [ 341 | { 342 | "internalType": "bytes", 343 | "name": "vaa", 344 | "type": "bytes" 345 | } 346 | ], 347 | "name": "submitVAA", 348 | "outputs": [], 349 | "stateMutability": "nonpayable", 350 | "type": "function" 351 | }, 352 | { 353 | "inputs": [], 354 | "name": "wrappedAssetMaster", 355 | "outputs": [ 356 | { 357 | "internalType": "address", 358 | "name": "", 359 | "type": "address" 360 | } 361 | ], 362 | "stateMutability": "view", 363 | "type": "function" 364 | }, 365 | { 366 | "inputs": [ 367 | { 368 | "internalType": "bytes32", 369 | "name": "", 370 | "type": "bytes32" 371 | } 372 | ], 373 | "name": "wrappedAssets", 374 | "outputs": [ 375 | { 376 | "internalType": "address", 377 | "name": "", 378 | "type": "address" 379 | } 380 | ], 381 | "stateMutability": "view", 382 | "type": "function" 383 | }, 384 | { 385 | "stateMutability": "payable", 386 | "type": "receive" 387 | } 388 | ] 389 | -------------------------------------------------------------------------------- /mainnetv1/artifacts/ethereum/wormhole.txt: -------------------------------------------------------------------------------- 1 | 60806040526001805460ff60a01b1916600160a11b1790553480156200002457600080fd5b50604051620028d4380380620028d48339810160408190526200004791620001b5565b600160009081558052600260209081528351805185927fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b92620000919284929190910190620000f7565b50602091909101516001918201805463ffffffff191663ffffffff928316179055600380546001600160401b03191664010000000094909216939093021790915580546001600160a01b0319166001600160a01b03929092169190911790555062000314565b8280548282559060005260206000209081019282156200014f579160200282015b828111156200014f57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000118565b506200015d92915062000161565b5090565b5b808211156200015d5780546001600160a01b031916815560010162000162565b80516001600160a01b03811681146200019a57600080fd5b92915050565b805163ffffffff811681146200019a57600080fd5b600080600060608486031215620001ca578283fd5b83516001600160401b0380821115620001e1578485fd5b9085019060408288031215620001f5578485fd5b620002016040620002d7565b82518281111562000210578687fd5b8301601f8101891362000221578687fd5b80518381111562000230578788fd5b6020935083810262000244858201620002d7565b8281528581019084870183860188018e10156200025f578b8cfd5b8b95505b848610156200028d57620002788e8262000182565b83526001959095019491870191870162000263565b508086525050505050620002a488838501620001a0565b818301529450620002b88787830162000182565b935050506040840151620002cc81620002fe565b809150509250925092565b6040518181016001600160401b0381118282101715620002f657600080fd5b604052919050565b63ffffffff811681146200031157600080fd5b50565b6125b080620003246000396000f3fe6080604052600436106100ab5760003560e01c8063707139601161006457806370713960146101c3578063822d82b3146101e357806399da1d3c146101f8578063a31fe4091461021a578063b6694c2a1461023a578063f951975a1461025a576100d1565b80631a2be4da146100e95780633bc0aee61461011f57806342b0aefa146101415780634db478401461016e57806358d62e4614610183578063600b9aa614610196576100d1565b366100d15760405162461bcd60e51b81526004016100c890611fb0565b60405180910390fd5b60405162461bcd60e51b81526004016100c890611fb0565b3480156100f557600080fd5b50610109610104366004611c59565b610287565b6040516101169190611ece565b60405180910390f35b34801561012b57600080fd5b5061013f61013a366004611d6b565b61029c565b005b34801561014d57600080fd5b5061016161015c366004611dd8565b610386565b60405161011691906124b1565b34801561017a57600080fd5b506101616103a1565b61013f610191366004611d2d565b6103b5565b3480156101a257600080fd5b506101b66101b1366004611d6b565b610559565b6040516101169190612452565b3480156101cf57600080fd5b5061013f6101de366004611c74565b610b43565b3480156101ef57600080fd5b50610161611045565b34801561020457600080fd5b5061020d611051565b6040516101169190611e7d565b34801561022657600080fd5b50610109610235366004611cfd565b611060565b34801561024657600080fd5b5061020d610255366004611cfd565b611075565b34801561026657600080fd5b5061027a610275366004611dd8565b611090565b60405161011691906123e7565b60066020526000908152604090205460ff1681565b600260005414156102bf5760405162461bcd60e51b81526004016100c890612382565b60026000556102cc611b5b565b6102d68383610559565b9050806080015160ff166001141561032957600354604082015163ffffffff9081169116146103175760405162461bcd60e51b81526004016100c890611ffc565b6103248160a00151611128565b61035e565b806080015160ff1660101415610346576103248160a00151611309565b60405162461bcd60e51b81526004016100c890611f4d565b6020908101516000908152600490915260408120805460ff1916600190811790915590555050565b60026020526000908152604090206001015463ffffffff1681565b600354640100000000900463ffffffff1681565b600260005414156103d85760405162461bcd60e51b81526004016100c890612382565b600260005560015460ff838116600160a01b90920416141561040c5760405162461bcd60e51b81526004016100c8906120bc565b600061041c34633b9aca00611565565b9050600061042e34633b9aca006115b0565b90508061044d5760405162461bcd60e51b81526004016100c89061216f565b604051339083156108fc029084906000818181858888f1935050505015801561047a573d6000803e3d6000fd5b5073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db08334036040518263ffffffff1660e01b81526004016000604051808303818588803b1580156104cc57600080fd5b505af11580156104e0573d6000803e3d6000fd5b505060015460405133945073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc293507f6bbd554ad75919f71fd91bf917ca6e4f41c10f03ab25751596a22253bb39aab89250610545918991600160a01b90910460ff16906009908c9089908c906124f6565b60405180910390a350506001600055505050565b610561611b5b565b6105a5600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115f29050565b60ff168082526001146105ca5760405162461bcd60e51b81526004016100c890612085565b61060e600184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116219050565b63ffffffff1660408083019190915280516020601f850181900481028201810190925283815260009161066191600591879087908190840183828082843760009201919091525092939250506115f29050565b60ff16905060008160420260060190506106b48186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116219050565b63ffffffff166060840152604080516020601f87018190048102820181019092528581526107069183918288039189908990819084018382808284376000920191909152509294939250506116509050565b805160209182012084820181905260009081526004909152604090205460ff16156107435760405162461bcd60e51b81526004016100c890611f79565b61074b611b92565b60408085015163ffffffff166000908152600260209081529082902082518154606093810282018401855293810184815290939192849284918401828280156107bd57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161079f575b50505091835250506001919091015463ffffffff166020909101528051519091506107fa5760405162461bcd60e51b81526004016100c8906123b9565b602081015163ffffffff16158061081a575042816020015163ffffffff16115b6108365760405162461bcd60e51b81526004016100c890612241565b82600a6003836000015151600a028161084b57fe5b046002028161085657fe5b0460010111156108785760405162461bcd60e51b81526004016100c8906121e7565b60001960005b84811015610a965760006108d1826042026006018a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115f29050565b90508260010b8160ff16136108f85760405162461bcd60e51b81526004016100c8906122af565b8060ff1692506000610949836042026007018b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116e39050565b90506000610996846042026027018c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506116e39050565b905060006109e3856042026047018d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115f29050565b87518051601b90920192509060ff86169081106109fc57fe5b60200260200101516001600160a01b031660018b6020015183868660405160008152602001604052604051610a349493929190611ed9565b6020604051602081039080840390855afa158015610a56573d6000803e3d6000fd5b505050602060405103516001600160a01b031614610a865760405162461bcd60e51b81526004016100c8906120ff565b50506001909201915061087e9050565b50610add8360040188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506115f29050565b60ff166080860152604080516020601f8901819004810282018101909252878152610b33916005860191600419878b0301918b908b90819084018382808284376000920191909152509294939250506116509050565b60a0860152509295945050505050565b60026000541415610b665760405162461bcd60e51b81526004016100c890612382565b600260005560015460ff848116600160a01b909204161415610b9a5760405162461bcd60e51b81526004016100c8906120bc565b6000600160149054906101000a900460ff169050600080886001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bea57600080fd5b505afa158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c229190611dfc565b6001600160a01b038a1660009081526006602052604090205490915060ff1615610d9157604051632770a7eb60e21b81526001600160a01b038a1690639dc29fac90610c749033908c90600401611e91565b600060405180830381600087803b158015610c8e57600080fd5b505af1158015610ca2573d6000803e3d6000fd5b50505050886001600160a01b031663026b05396040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdf57600080fd5b505afa158015610cf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d179190611dfc565b9250886001600160a01b0316631ba46cfd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5257600080fd5b505afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190611d15565b9150610fc9565b6040516370a0823160e01b81526000906001600160a01b038b16906370a0823190610dc0903090600401611e7d565b60206040518083038186803b158015610dd857600080fd5b505afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190611d15565b9050610e276001600160a01b038b1633308c611712565b6040516370a0823160e01b81526000906001600160a01b038c16906370a0823190610e56903090600401611e7d565b60206040518083038186803b158015610e6e57600080fd5b505afa158015610e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea69190611d15565b9050610eb28183611770565b995060098360ff161115610f0c5789610ed58160ff600819870116600a0a6115b0565b9a508615610f0657610f0633610ef58360ff600819890116600a0a611565565b6001600160a01b038f1691906117b2565b60099350505b67ffffffffffffffff8016610f9c60098d6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5557600080fd5b505afa158015610f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d9190611dfc565b849160ff910316600a0a6115b0565b1115610fba5760405162461bcd60e51b81526004016100c890611f0a565b50506001600160a01b03891691505b87610fe65760405162461bcd60e51b81526004016100c89061216f565b336001600160a01b031660001b827f6bbd554ad75919f71fd91bf917ca6e4f41c10f03ab25751596a22253bb39aab88886858c8e8c60405161102d969594939291906124f6565b60405180910390a35050600160005550505050505050565b60035463ffffffff1681565b6001546001600160a01b031681565b60046020526000908152604090205460ff1681565b6005602052600090815260409020546001600160a01b031681565b611098611b92565b63ffffffff8216600090815260026020908152604091829020825181546060938102820184018552938101848152909391928492849184018282801561110757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116110e9575b50505091835250506001919091015463ffffffff1660209091015292915050565b60006111348282611621565b60035490915063ffffffff80831691811660010116146111665760405162461bcd60e51b81526004016100c8906121a6565b60006111738360046115f2565b905060608160ff1667ffffffffffffffff8111801561119157600080fd5b506040519080825280602002602001820160405280156111bb578160200160208202803683370190505b50905060005b8260ff1681101561120e5760006111de86600560148502016117d6565b9050808383815181106111ed57fe5b6001600160a01b0390921660209283029190910190910152506001016111c1565b506003805463ffffffff85811663ffffffff1983161790925516611230611b92565b506040805180820182528381526000602080830182905260035463ffffffff16825260028152929020815180519293849361126e9284920190611baa565b506020918201516001918201805463ffffffff1990811663ffffffff9384161790915560038054878416600090815260029096526040958690209094018054909216640100000000909404831642018316939093179055905491517fdfb80683934199683861bf00b64ecdf0984bbaf661bf27983dba382e99297a62926112f99286929116906124c2565b60405180910390a1505050505050565b60006113168260046115f2565b905060006113258360056115f2565b905060006113348460326117d6565b905060006113438560466115f2565b905060006113528660686116e3565b90508360ff168560ff16141561137a5760405162461bcd60e51b81526004016100c89061233c565b60015460ff858116600160a01b90920416146113a85760405162461bcd60e51b81526004016100c89061220a565b60015460ff838116600160a01b909204161461149f5760006113cb8760476116e3565b9050600083826040516020016113e2929190611e60565b60408051601f198184030181529181528151602092830120600081815260059093529120549091506001600160a01b0316806114375760006114258a60676115f2565b90506114338387868461180c565b9150505b6040516340c10f1960e01b81526001600160a01b038216906340c10f19906114659089908890600401611e91565b600060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b5050505050505061155d565b60006114ac8760536117d6565b90506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156114e957600080fd5b505afa1580156114fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115219190611dfc565b905060098160ff161115611546576115438360ff600819840116600a0a61191a565b92505b61155a6001600160a01b03831686856117b2565b50505b505050505050565b60006115a783836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250611954565b90505b92915050565b60006115a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611988565b600081600101835110156116185760405162461bcd60e51b81526004016100c890612059565b50016001015190565b600081600401835110156116475760405162461bcd60e51b81526004016100c890612059565b50016004015190565b6060818301845110156116755760405162461bcd60e51b81526004016100c890612059565b606082158015611690576040519150602082016040526116da565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156116c95780518352602092830192016116b1565b5050858452601f01601f1916604052505b50949350505050565b600081602001835110156117095760405162461bcd60e51b81526004016100c890612059565b50016020015190565b61176a846323b872dd60e01b85858560405160240161173393929190611eaa565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526119bf565b50505050565b60006115a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a4e565b6117d18363a9059cbb60e01b8484604051602401611733929190611e91565b505050565b600081601401835110156117fc5760405162461bcd60e51b81526004016100c890612059565b500160200151600160601b900490565b600154604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b815260609190911b6bffffffffffffffffffffffff1916601482018190526e5af43d82803e903d91602b57fd5bf360881b60288301526000918660378285f560405163a7a2d3fb60e01b81529093506001600160a01b038416915063a7a2d3fb9061189d908890889088906004016124d9565b600060405180830381600087803b1580156118b757600080fd5b505af11580156118cb573d6000803e3d6000fd5b5050506000968752505060056020908152604080872080546001600160a01b0319166001600160a01b03851690811790915587526006909152909420805460ff19166001179055509192915050565b600082611929575060006115aa565b8282028284828161193657fe5b04146115a75760405162461bcd60e51b81526004016100c89061212e565b600081836119755760405162461bcd60e51b81526004016100c89190611ef7565b5082848161197f57fe5b06949350505050565b600081836119a95760405162461bcd60e51b81526004016100c89190611ef7565b5060008385816119b557fe5b0495945050505050565b6060611a14826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611a7a9092919063ffffffff16565b8051909150156117d15780806020019051810190611a329190611ce1565b6117d15760405162461bcd60e51b81526004016100c8906122f2565b60008184841115611a725760405162461bcd60e51b81526004016100c89190611ef7565b505050900390565b6060611a898484600085611a91565b949350505050565b6060611a9c85611b55565b611ab85760405162461bcd60e51b81526004016100c890612278565b60006060866001600160a01b03168587604051611ad59190611e44565b60006040518083038185875af1925050503d8060008114611b12576040519150601f19603f3d011682016040523d82523d6000602084013e611b17565b606091505b50915091508115611b2b579150611a899050565b805115611b3b5780518082602001fd5b8360405162461bcd60e51b81526004016100c89190611ef7565b3b151590565b6040805160c0810182526000808252602082018190529181018290526060808201839052608082019290925260a081019190915290565b60408051808201909152606081526000602082015290565b828054828255906000526020600020908101928215611bff579160200282015b82811115611bff57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611bca565b50611c0b929150611c0f565b5090565b5b80821115611c0b5780546001600160a01b0319168155600101611c10565b80356001600160a01b03811681146115aa57600080fd5b803563ffffffff811681146115aa57600080fd5b600060208284031215611c6a578081fd5b6115a78383611c2e565b60008060008060008060c08789031215611c8c578182fd5b611c968888611c2e565b955060208701359450604087013593506060870135611cb48161256b565b9250611cc38860808901611c45565b915060a0870135611cd38161255a565b809150509295509295509295565b600060208284031215611cf2578081fd5b81516115a78161255a565b600060208284031215611d0e578081fd5b5035919050565b600060208284031215611d26578081fd5b5051919050565b600080600060608486031215611d41578283fd5b833592506020840135611d538161256b565b9150611d628560408601611c45565b90509250925092565b60008060208385031215611d7d578182fd5b823567ffffffffffffffff80821115611d94578384fd5b818501915085601f830112611da7578384fd5b813581811115611db5578485fd5b866020828501011115611dc6578485fd5b60209290920196919550909350505050565b600060208284031215611de9578081fd5b813563ffffffff811681146115a7578182fd5b600060208284031215611e0d578081fd5b81516115a78161256b565b60008151808452611e3081602086016020860161252e565b601f01601f19169290920160200192915050565b60008251611e5681846020870161252e565b9190910192915050565b60f89290921b6001600160f81b0319168252600182015260210190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526115a76020830184611e18565b60208082526023908201527f6272696467652062616c616e636520776f756c6420657863656564206d6178696040820152626d756d60e81b606082015260800190565b60208082526012908201527134b73b30b634b2102b20a09030b1ba34b7b760711b604082015260600190565b60208082526018908201527f5641412077617320616c72656164792065786563757465640000000000000000604082015260600190565b6020808252602c908201527f706c6561736520757365206c6f636b45544820746f207472616e73666572204560408201526b544820746f20536f6c616e6160a01b606082015260800190565b60208082526039908201527f6f6e6c79207468652063757272656e7420677561726469616e2073657420636160408201527f6e206368616e67652074686520677561726469616e2073657400000000000000606082015260800190565b60208082526012908201527152656164206f7574206f6620626f756e647360701b604082015260600190565b60208082526018908201527f5641412076657273696f6e20696e636f6d70617469626c650000000000000000604082015260600190565b60208082526023908201527f6d757374206e6f74207472616e7366657220746f207468652073616d6520636860408201526230b4b760e91b606082015260800190565b602080825260159082015274159050481cda59db985d1d5c99481a5b9d985b1a59605a1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252601e908201527f7472756e636174656420616d6f756e74206d757374206e6f7420626520300000604082015260600190565b60208082526021908201527f696e646578206d75737420696e63726561736520696e207374657073206f66206040820152603160f81b606082015260800190565b6020808252600990820152686e6f2071756f72756d60b81b604082015260600190565b60208082526019908201527f7472616e73666572206d75737420626520696e636f6d696e6700000000000000604082015260600190565b60208082526018908201527f677561726469616e207365742068617320657870697265640000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526023908201527f7369676e617475726520696e6469636573206d75737420626520617363656e64604082015262696e6760e81b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526026908201527f73616d6520636861696e207472616e736665727320617265206e6f74207375706040820152651c1bdc9d195960d21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252601490820152731a5b9d985b1a590819dd585c991a585b881cd95d60621b604082015260600190565b6020808252825160408383015280516060840181905260009291820190839060808601905b808310156124355783516001600160a01b0316825292840192600192909201919084019061240c565b5063ffffffff848801511660408701528094505050505092915050565b60006020825260ff835116602083015260208301516040830152604083015163ffffffff8082166060850152806060860151166080850152505060ff60808401511660a083015260a083015160c080840152611a8960e0840182611e18565b63ffffffff91909116815260200190565b63ffffffff92831681529116602082015260400190565b60ff93841681526020810192909252909116604082015260600190565b60ff968716815294861660208601529290941660408401526060830152608082019290925263ffffffff90911660a082015260c00190565b60005b83811015612549578181015183820152602001612531565b8381111561176a5750506000910152565b801515811461256857600080fd5b50565b60ff8116811461256857600080fdfea2646970667358221220efee3aa0256bf0285f463a6d366d44803785dbf94307fcbbb6dede96231639a564736f6c634300060c003300000000000000000000000000000000000000000000000000000000000000600000000000000000000000009a5e27995309a03f8b583febde7ef289fccdc6ae00000000000000000000000000000000000000000000000000000000000151800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007580aa7e036dc199bf0e152c71004716ae0aa747 2 | -------------------------------------------------------------------------------- /mainnetv1/artifacts/ethereum/wrappedasset.abi: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "anonymous": false, 4 | "inputs": [ 5 | { 6 | "indexed": true, 7 | "internalType": "address", 8 | "name": "owner", 9 | "type": "address" 10 | }, 11 | { 12 | "indexed": true, 13 | "internalType": "address", 14 | "name": "spender", 15 | "type": "address" 16 | }, 17 | { 18 | "indexed": false, 19 | "internalType": "uint256", 20 | "name": "value", 21 | "type": "uint256" 22 | } 23 | ], 24 | "name": "Approval", 25 | "type": "event" 26 | }, 27 | { 28 | "anonymous": false, 29 | "inputs": [ 30 | { 31 | "indexed": true, 32 | "internalType": "address", 33 | "name": "from", 34 | "type": "address" 35 | }, 36 | { 37 | "indexed": true, 38 | "internalType": "address", 39 | "name": "to", 40 | "type": "address" 41 | }, 42 | { 43 | "indexed": false, 44 | "internalType": "uint256", 45 | "name": "value", 46 | "type": "uint256" 47 | } 48 | ], 49 | "name": "Transfer", 50 | "type": "event" 51 | }, 52 | { 53 | "inputs": [ 54 | { 55 | "internalType": "address", 56 | "name": "owner", 57 | "type": "address" 58 | }, 59 | { 60 | "internalType": "address", 61 | "name": "spender", 62 | "type": "address" 63 | } 64 | ], 65 | "name": "allowance", 66 | "outputs": [ 67 | { 68 | "internalType": "uint256", 69 | "name": "", 70 | "type": "uint256" 71 | } 72 | ], 73 | "stateMutability": "view", 74 | "type": "function" 75 | }, 76 | { 77 | "inputs": [ 78 | { 79 | "internalType": "address", 80 | "name": "spender", 81 | "type": "address" 82 | }, 83 | { 84 | "internalType": "uint256", 85 | "name": "amount", 86 | "type": "uint256" 87 | } 88 | ], 89 | "name": "approve", 90 | "outputs": [ 91 | { 92 | "internalType": "bool", 93 | "name": "", 94 | "type": "bool" 95 | } 96 | ], 97 | "stateMutability": "nonpayable", 98 | "type": "function" 99 | }, 100 | { 101 | "inputs": [], 102 | "name": "assetAddress", 103 | "outputs": [ 104 | { 105 | "internalType": "bytes32", 106 | "name": "", 107 | "type": "bytes32" 108 | } 109 | ], 110 | "stateMutability": "view", 111 | "type": "function" 112 | }, 113 | { 114 | "inputs": [], 115 | "name": "assetChain", 116 | "outputs": [ 117 | { 118 | "internalType": "uint8", 119 | "name": "", 120 | "type": "uint8" 121 | } 122 | ], 123 | "stateMutability": "view", 124 | "type": "function" 125 | }, 126 | { 127 | "inputs": [ 128 | { 129 | "internalType": "address", 130 | "name": "account", 131 | "type": "address" 132 | } 133 | ], 134 | "name": "balanceOf", 135 | "outputs": [ 136 | { 137 | "internalType": "uint256", 138 | "name": "", 139 | "type": "uint256" 140 | } 141 | ], 142 | "stateMutability": "view", 143 | "type": "function" 144 | }, 145 | { 146 | "inputs": [], 147 | "name": "bridge", 148 | "outputs": [ 149 | { 150 | "internalType": "address", 151 | "name": "", 152 | "type": "address" 153 | } 154 | ], 155 | "stateMutability": "view", 156 | "type": "function" 157 | }, 158 | { 159 | "inputs": [ 160 | { 161 | "internalType": "address", 162 | "name": "account", 163 | "type": "address" 164 | }, 165 | { 166 | "internalType": "uint256", 167 | "name": "amount", 168 | "type": "uint256" 169 | } 170 | ], 171 | "name": "burn", 172 | "outputs": [], 173 | "stateMutability": "nonpayable", 174 | "type": "function" 175 | }, 176 | { 177 | "inputs": [], 178 | "name": "decimals", 179 | "outputs": [ 180 | { 181 | "internalType": "uint8", 182 | "name": "", 183 | "type": "uint8" 184 | } 185 | ], 186 | "stateMutability": "view", 187 | "type": "function" 188 | }, 189 | { 190 | "inputs": [ 191 | { 192 | "internalType": "address", 193 | "name": "spender", 194 | "type": "address" 195 | }, 196 | { 197 | "internalType": "uint256", 198 | "name": "subtractedValue", 199 | "type": "uint256" 200 | } 201 | ], 202 | "name": "decreaseAllowance", 203 | "outputs": [ 204 | { 205 | "internalType": "bool", 206 | "name": "", 207 | "type": "bool" 208 | } 209 | ], 210 | "stateMutability": "nonpayable", 211 | "type": "function" 212 | }, 213 | { 214 | "inputs": [ 215 | { 216 | "internalType": "address", 217 | "name": "spender", 218 | "type": "address" 219 | }, 220 | { 221 | "internalType": "uint256", 222 | "name": "addedValue", 223 | "type": "uint256" 224 | } 225 | ], 226 | "name": "increaseAllowance", 227 | "outputs": [ 228 | { 229 | "internalType": "bool", 230 | "name": "", 231 | "type": "bool" 232 | } 233 | ], 234 | "stateMutability": "nonpayable", 235 | "type": "function" 236 | }, 237 | { 238 | "inputs": [ 239 | { 240 | "internalType": "uint8", 241 | "name": "_assetChain", 242 | "type": "uint8" 243 | }, 244 | { 245 | "internalType": "bytes32", 246 | "name": "_assetAddress", 247 | "type": "bytes32" 248 | }, 249 | { 250 | "internalType": "uint8", 251 | "name": "decimals", 252 | "type": "uint8" 253 | } 254 | ], 255 | "name": "initialize", 256 | "outputs": [], 257 | "stateMutability": "nonpayable", 258 | "type": "function" 259 | }, 260 | { 261 | "inputs": [], 262 | "name": "initialized", 263 | "outputs": [ 264 | { 265 | "internalType": "bool", 266 | "name": "", 267 | "type": "bool" 268 | } 269 | ], 270 | "stateMutability": "view", 271 | "type": "function" 272 | }, 273 | { 274 | "inputs": [ 275 | { 276 | "internalType": "address", 277 | "name": "account", 278 | "type": "address" 279 | }, 280 | { 281 | "internalType": "uint256", 282 | "name": "amount", 283 | "type": "uint256" 284 | } 285 | ], 286 | "name": "mint", 287 | "outputs": [], 288 | "stateMutability": "nonpayable", 289 | "type": "function" 290 | }, 291 | { 292 | "inputs": [], 293 | "name": "name", 294 | "outputs": [ 295 | { 296 | "internalType": "string", 297 | "name": "", 298 | "type": "string" 299 | } 300 | ], 301 | "stateMutability": "view", 302 | "type": "function" 303 | }, 304 | { 305 | "inputs": [], 306 | "name": "symbol", 307 | "outputs": [ 308 | { 309 | "internalType": "string", 310 | "name": "", 311 | "type": "string" 312 | } 313 | ], 314 | "stateMutability": "view", 315 | "type": "function" 316 | }, 317 | { 318 | "inputs": [], 319 | "name": "totalSupply", 320 | "outputs": [ 321 | { 322 | "internalType": "uint256", 323 | "name": "", 324 | "type": "uint256" 325 | } 326 | ], 327 | "stateMutability": "view", 328 | "type": "function" 329 | }, 330 | { 331 | "inputs": [ 332 | { 333 | "internalType": "address", 334 | "name": "recipient", 335 | "type": "address" 336 | }, 337 | { 338 | "internalType": "uint256", 339 | "name": "amount", 340 | "type": "uint256" 341 | } 342 | ], 343 | "name": "transfer", 344 | "outputs": [ 345 | { 346 | "internalType": "bool", 347 | "name": "", 348 | "type": "bool" 349 | } 350 | ], 351 | "stateMutability": "nonpayable", 352 | "type": "function" 353 | }, 354 | { 355 | "inputs": [ 356 | { 357 | "internalType": "address", 358 | "name": "sender", 359 | "type": "address" 360 | }, 361 | { 362 | "internalType": "address", 363 | "name": "recipient", 364 | "type": "address" 365 | }, 366 | { 367 | "internalType": "uint256", 368 | "name": "amount", 369 | "type": "uint256" 370 | } 371 | ], 372 | "name": "transferFrom", 373 | "outputs": [ 374 | { 375 | "internalType": "bool", 376 | "name": "", 377 | "type": "bool" 378 | } 379 | ], 380 | "stateMutability": "nonpayable", 381 | "type": "function" 382 | } 383 | ] 384 | -------------------------------------------------------------------------------- /mainnetv1/artifacts/ethereum/wrappedasset.txt: -------------------------------------------------------------------------------- 1 | 60806040526007805460ff1916601217905534801561001d57600080fd5b506112848061002d6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806340c10f19116100a2578063a457c2d711610071578063a457c2d714610312578063a7a2d3fb1461033e578063a9059cbb1461036e578063dd62ed3e1461039a578063e78cea92146103c857610116565b806340c10f191461028a57806370a08231146102b857806395d89b41146102de5780639dc29fac146102e657610116565b806318160ddd116100e957806318160ddd146101fe5780631ba46cfd1461021857806323b872dd14610220578063313ce56714610256578063395093511461025e57610116565b8063026b05391461011b57806306fdde0314610139578063095ea7b3146101b6578063158ef93e146101f6575b600080fd5b6101236103ec565b6040805160ff9092168252519081900360200190f35b6101416103f5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017b578181015183820152602001610163565b50505050905090810190601f1680156101a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e2600480360360408110156101cc57600080fd5b506001600160a01b0381351690602001356104f2565b604080519115158252519081900360200190f35b6101e261050f565b610206610518565b60408051918252519081900360200190f35b61020661051e565b6101e26004803603606081101561023657600080fd5b506001600160a01b03813581169160208101359091169060400135610524565b6101236105ab565b6101e26004803603604081101561027457600080fd5b506001600160a01b0381351690602001356105b4565b6102b6600480360360408110156102a057600080fd5b506001600160a01b038135169060200135610602565b005b610206600480360360208110156102ce57600080fd5b50356001600160a01b031661065e565b61014161067d565b6102b6600480360360408110156102fc57600080fd5b506001600160a01b038135169060200135610713565b6101e26004803603604081101561032857600080fd5b506001600160a01b03813516906020013561076b565b6102b66004803603606081101561035457600080fd5b5060ff8135811691602081013591604090910135166107d3565b6101e26004803603604081101561038457600080fd5b506001600160a01b038135169060200135610896565b610206600480360360408110156103b057600080fd5b506001600160a01b03813581169160200135166108aa565b6103d06108d5565b604080516001600160a01b039092168252519081900360200190f35b60005460ff1681565b6000546060906104079060ff166108e9565b61040f6109c1565b60405160200180807202bb7b936b437b632902bb930b83832b210169606d1b81525060130183805190602001908083835b6020831061045f5780518252601f199092019160209182019101610440565b6001836020036101000a03801982511681845116808217855250505050505090500180602d60f81b81525060010182805190602001908083835b602083106104b85780518252601f199092019160209182019101610499565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052905090565b60006105066104ff610adb565b8484610adf565b50600192915050565b60025460ff1681565b60055490565b60015481565b6000610531848484610bcb565b6105a18461053d610adb565b61059c8560405180606001604052806028815260200161114e602891396001600160a01b038a1660009081526004602052604081209061057b610adb565b6001600160a01b031681526020810191909152604001600020549190610d1d565b610adf565b5060019392505050565b60075460ff1690565b60006105066105c1610adb565b8461059c85600460006105d2610adb565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610db4565b60025461010090046001600160a01b031633146106505760405162461bcd60e51b81526004018080602001828103825260258152602001806112056025913960400191505060405180910390fd5b61065a8282610e15565b5050565b6001600160a01b0381166000908152600360205260409020545b919050565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107095780601f106106de57610100808354040283529160200191610709565b820191906000526020600020905b8154815290600101906020018083116106ec57829003601f168201915b5050505050905090565b60025461010090046001600160a01b031633146107615760405162461bcd60e51b81526004018080602001828103825260258152602001806111bc6025913960400191505060405180910390fd5b61065a8282610efb565b6000610506610778610adb565b8461059c8560405180606001604052806025815260200161122a60259139600460006107a2610adb565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610d1d565b60025460ff1615610821576040805162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015290519081900360640190fd5b6000805460ff1990811660ff861617909155600183815560028054610100600160a81b0319166101003302179092161790556040805180820190915260038082526215d5d560ea1b602090920191825261087d9160069161102d565b506007805460ff191660ff929092169190911790555050565b60006105066108a3610adb565b8484610bcb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60025461010090046001600160a01b031681565b60608161090e57506040805180820190915260018152600360fc1b6020820152610678565b8160005b811561092657600101600a82049150610912565b60608167ffffffffffffffff8111801561093f57600080fd5b506040519080825280601f01601f19166020018201604052801561096a576020820181803683370190505b50905060001982015b85156109b857600a860660300160f81b8282806001900393508151811061099657fe5b60200101906001600160f81b031916908160001a905350600a86049550610973565b50949350505050565b604080518082018252601081526f181899199a1a9b1b9c1cb0b131b232b360811b6020820152600154825160428082526080820190945260609384919060208201818036833701905050905060005b6020811015610ad357836004848360208110610a2857fe5b1a60f81b6001600160f81b031916901c60f81c60ff1681518110610a4857fe5b602001015160f81c60f81b828260020281518110610a6257fe5b60200101906001600160f81b031916908160001a90535083838260208110610a8657fe5b825191901a600f16908110610a9757fe5b602001015160f81c60f81b828260020260010181518110610ab457fe5b60200101906001600160f81b031916908160001a905350600101610a10565b509250505090565b3390565b6001600160a01b038316610b245760405162461bcd60e51b81526004018080602001828103825260248152602001806111e16024913960400191505060405180910390fd5b6001600160a01b038216610b695760405162461bcd60e51b81526004018080602001828103825260228152602001806111066022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c105760405162461bcd60e51b81526004018080602001828103825260258152602001806111976025913960400191505060405180910390fd5b6001600160a01b038216610c555760405162461bcd60e51b81526004018080602001828103825260238152602001806110c16023913960400191505060405180910390fd5b610c9281604051806060016040528060268152602001611128602691396001600160a01b0386166000908152600360205260409020549190610d1d565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610cc19082610db4565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610dac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d71578181015183820152602001610d59565b50505050905090810190601f168015610d9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610e0e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610e70576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600554610e7d9082610db4565b6005556001600160a01b038216600090815260036020526040902054610ea39082610db4565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610f405760405162461bcd60e51b81526004018080602001828103825260218152602001806111766021913960400191505060405180910390fd5b610f7d816040518060600160405280602281526020016110e4602291396001600160a01b0385166000908152600360205260409020549190610d1d565b6001600160a01b038316600090815260036020526040902055600554610fa39082610feb565b6005556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000610e0e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d1d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061106e57805160ff191683800117855561109b565b8280016001018555821561109b579182015b8281111561109b578251825591602001919060010190611080565b506110a79291506110ab565b5090565b5b808211156110a757600081556001016110ac56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f20616464726573736275726e2063616e206f6e6c792062652063616c6c6564206279207468652062726964676545524332303a20617070726f76652066726f6d20746865207a65726f20616464726573736d696e742063616e206f6e6c792062652063616c6c6564206279207468652062726964676545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205a8b2747fda9620efc37b0f4d7b9184b07cce39dbed618086b48c16bd18ac41664736f6c634300060c0033 2 | -------------------------------------------------------------------------------- /mainnetv1/artifacts/solana/bridge.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wormhole-foundation/wormhole-networks/2edd251d37b0dc3d4e759ff80db406a866b70d28/mainnetv1/artifacts/solana/bridge.so -------------------------------------------------------------------------------- /mainnetv1/artifacts/solana/git-ref: -------------------------------------------------------------------------------- 1 | 8478735ea7525043635524a62db2751e59d2bc38 2 | -------------------------------------------------------------------------------- /mainnetv1/guardianset/v1.prototxt: -------------------------------------------------------------------------------- 1 | timestamp: 1612308418 2 | 3 | guardian_set: { 4 | # idx = 0 5 | guardians: { 6 | pubkey: "0x187727CdD17C8142FE9b29A066F577548423aF0e" 7 | name: "P2P Validator" 8 | } 9 | 10 | # idx = 1 11 | guardians: { 12 | pubkey: "0xE4276d2Ef965B37A492C5F0f85e9A558f82895BD" 13 | name: "Everstake" 14 | } 15 | 16 | # idx = 2 17 | guardians: { 18 | pubkey: "0x854E8bE1eE471e70a152b3FBB093057efBb9e20F" 19 | name: "Dokia Capital" 20 | } 21 | 22 | # idx = 3 23 | guardians: { 24 | pubkey: "0x43f98818f1f0e93A921C2A74ED868213946A3580" 25 | name: "Staking Facilities" 26 | } 27 | 28 | # idx = 4 29 | guardians: { 30 | pubkey: "0x79071C82011B4a542C7d67f290Ef4181CE6B2b0f" 31 | name: "Chorus One" 32 | } 33 | 34 | # idx = 5 35 | guardians: { 36 | pubkey: "0x7580aA7e036dC199bF0E152C71004716AE0AA747" 37 | name: "Certus One" 38 | } 39 | 40 | # idx = 6 41 | guardians: { 42 | pubkey: "0xe7aF00E4B5F69B8E8e49adBE7b1A2b6BDd81f346" 43 | name: "Chainlayer" 44 | } 45 | 46 | # idx = 7 47 | guardians: { 48 | pubkey: "0xc155a290149Bb2f58332abA8DC31217df483501e" 49 | name: "Staking Fund" 50 | } 51 | 52 | # idx = 8 53 | guardians: { 54 | pubkey: "0xF73c0e6f9A242B3564F9e65Fbd94Fcbc332a0deB" 55 | name: "01Node" 56 | } 57 | 58 | # idx = 9 59 | guardians: { 60 | pubkey: "0x1Fca1307C7BeEf596f209cf393f3d50d41e4a0F9" 61 | name: "Morphism" 62 | } 63 | 64 | # idx = 10 65 | guardians: { 66 | pubkey: "0xf51a742452E9c2B4bD131a934C10f97b80455669" 67 | name: "Hashquark" 68 | } 69 | 70 | # idx = 11 71 | guardians: { 72 | pubkey: "0xe0718fca4Dc271f4EF43Ff624a6b730A339eF104" 73 | name: "Melea Trust" 74 | } 75 | 76 | # idx = 12 77 | guardians: { 78 | pubkey: "0x1bb88a04DDa307Bc4f5e97c4856c068D1A4182a8" 79 | name: "Moonlet" 80 | } 81 | 82 | # idx = 13 83 | guardians: { 84 | pubkey: "0x5cF8ca288D9077160Ff9D6583b63aa20EFF40B7d" 85 | name: "Forbole" 86 | } 87 | 88 | # idx = 14 89 | guardians: { 90 | pubkey: "0xDe2E046412ebcc6563831AA7A9B2104E0c58B351" 91 | name: "Jump Trading" 92 | } 93 | 94 | # idx = 15 95 | guardians: { 96 | pubkey: "0x4ed7ABB1408F91058BFeDac3CAeCB03F8ec22C1b" 97 | name: "Smith MCF" 98 | } 99 | 100 | # idx = 16 101 | guardians: { 102 | pubkey: "0xE3727bBc8342F631eC9A20d8A6FB44fe97C6dFcd" 103 | name: "Chainode Tech" 104 | } 105 | 106 | # idx = 17 107 | guardians: { 108 | pubkey: "0x9F09C8E49757486e98887b49373620290D963729" 109 | name: "syncnode" 110 | } 111 | 112 | # idx = 18 113 | guardians: { 114 | pubkey: "0xe263fDFeDF000121046578253312861e83f28bD5" 115 | name: "inotel" 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /mainnetv1/info.md: -------------------------------------------------------------------------------- 1 | # Wormhole Mainnet 2 | 3 | This Wormhole mainnet connects the following chains: 4 | 5 | - Solana [Mainnet Beta](https://docs.solana.com/clusters#mainnet-beta). 6 | 7 | - Ethereum Mainnet. 8 | 9 | ## Network parameters 10 | 11 | Gossip network name: 12 | 13 | /wormhole/mainnet/1 14 | 15 | Gossip bootstrap node: 16 | 17 | /dns4/wormhole-mainnet-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWNMWC62BBEGgwuvTP1RGroSKbn8DNRubUKBcGwkrDk9dy 18 | 19 | Connected chain contracts: 20 | 21 | | Network | Bridge contract addresss | 22 | |------------------------------|------------------------------------------------| 23 | | Ethereum Mainnet (Bridge) | [`0xf92cD566Ea4864356C5491c177A430C222d7e678`](https://etherscan.io/address/0xf92cD566Ea4864356C5491c177A430C222d7e678) (verified on Etherscan) | 24 | | Ethereum Mainnet (Token) | [`0x9A5e27995309a03f8B583feBdE7eF289FcCdC6Ae`](https://etherscan.io/address/0x9A5e27995309a03f8B583feBdE7eF289FcCdC6Ae) (verified on Etherscan) | 25 | | Solana Mainnet Beta | [`WormT3McKhFJ2RkiGpdw9GKvNCrB2aB54gb2uV9MfQC`](https://explorer.solana.com/address/WormT3McKhFJ2RkiGpdw9GKvNCrB2aB54gb2uV9MfQC?cluster=mainnet-beta) | 26 | 27 | A copy of the contract binaries that were deployed can be found in [artifacts/](artifacts), along with a pointer to the 28 | Wormhole revision that they were built from. 29 | 30 | ## Guardian set 31 | 32 | Current generation: **1** ([v1.prototext](guardianset/v1.prototxt)), with 19 decentralized guardians. 33 | 34 | | Network | Guardian Set initialization | 35 | |----------|-------------| 36 | | Solana | [`3mQpDW2ofC3YpAsDzP4w5FNVzYRSmJjKoio4fcapL7xDAdaatvvKXCzrd2cfHiVNwYZs4hH1ePZ9Hep4zaasL27L`](https://explorer.solana.com/tx/3mQpDW2ofC3YpAsDzP4w5FNVzYRSmJjKoio4fcapL7xDAdaatvvKXCzrd2cfHiVNwYZs4hH1ePZ9Hep4zaasL27L) | 37 | | Ethereum | [`0x833e7bec034d9904713d6a7dc13d197ec41af2d0611122603289a1e69ae72c43`](https://etherscan.io/tx/0x833e7bec034d9904713d6a7dc13d197ec41af2d0611122603289a1e69ae72c43) | 38 | 39 | ## Example command line options 40 | 41 | Refer to the [operations guide](https://github.com/certusone/wormhole/blob/master/docs/operations.md) on how to set up a node. 42 | 43 | ```bash 44 | /usr/local/bin/guardiand bridge \ 45 | --bootstrap "/dns4/wormhole-mainnet-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWNMWC62BBEGgwuvTP1RGroSKbn8DNRubUKBcGwkrDk9dy" 46 | --network "/wormhole/mainnet/1" \ 47 | --ethContract "0xf92cD566Ea4864356C5491c177A430C222d7e678" \ 48 | --solanaBridgeAddress WormT3McKhFJ2RkiGpdw9GKvNCrB2aB54gb2uV9MfQC \ # <-- Solana Bridge address, same as the agent (NEW) 49 | --solanaRPC http://solana-host:8899 \ # <-- Solana RPC URI, same as the agent (NEW) 50 | --solanaWS ws://solana-devnet:8900 \ # <-- Solana websocket URI, same as the agent (NEW) 51 | --nodeName "Certus One" \ # <-- your node's name (for network explorer usage) 52 | --nodeKey /opt/wormhole/keys/wormhole-node.key \ # <-- auto-generated node key 53 | --bridgeKey /opt/wormhole/keys/wormhole-guardian.key \ # <-- your guardian key generated by "guardiand keygen" 54 | --ethRPC wss://ethereum-node.example.com/ws/v3/[...] \ # <-- your ETH full/light node websocket URI 55 | --adminSocket /run/guardiand/admin.socket \ 56 | --agentRPC /run/guardiand/agent.socket 57 | ``` 58 | 59 | ```bash 60 | /usr/local/bin/guardiand-solana-agent \ 61 | --bridge WormT3McKhFJ2RkiGpdw9GKvNCrB2aB54gb2uV9MfQC \ 62 | --rpc http://solana-host:8899 \ # <-- URL of your Solana validator RPC server 63 | --ws ws://solana-devnet:8900 \ # <-- Websocket path to your Solana validator PubSub port (RPC port +1) 64 | --keypair /path/to/feepayer.json \ # <-- Keypair of a Solana fee payer account with ~10 SOL in it 65 | --socket /run/guardiand/agent.socket 66 | ``` 67 | 68 | Your fee payer account should be funded with at least 15 SOL and not drop below 5 SOL. 69 | 70 | ## Contract verification 71 | 72 | ### Ethereum 73 | 74 | Ethereum contracts are easily verified by standard tooling, for example, Etherscan's contract verification which 75 | Wormhole's source code was uploaded to: 76 | 77 | - [Wormhole.sol](https://etherscan.io/address/0xf92cD566Ea4864356C5491c177A430C222d7e678#contracts) 78 | - [WrappedAsset.sol](https://etherscan.io/address/0x9A5e27995309a03f8B583feBdE7eF289FcCdC6Ae#contracts) 79 | 80 | ### Solana 81 | 82 | On Solana, first compile the contract using the exact same version of the toolchain. The Wormhole dev environment pins 83 | all dependencies to achieve a reproducible build: 84 | 85 | ```bash 86 | cd wormhole/solana 87 | git checkout 8478735ea7525043635524a62db2751e59d2bc38 88 | 89 | DOCKER_BUILDKIT=1 docker build -t wormhole-contract . 90 | docker create --name wormhole-contract wormhole-contract 91 | docker cp wormhole-contract:/opt/solana/deps/spl_bridge.so wormhole.so 92 | docker rm wormhole-contract 93 | 94 | sha256sum wormhole.so 95 | ``` 96 | 97 | The checksum should be `6e9cc716939e94697a712b529b223c4a843f45fbda9bcabf93349f86557dca97`. 98 | 99 | Now, compare it with the contract deployed on-chain. First, get the program account: 100 | 101 | ```bash 102 | $ solana account WormT3McKhFJ2RkiGpdw9GKvNCrB2aB54gb2uV9MfQC --output json 103 | { 104 | "pubkey": "WormT3McKhFJ2RkiGpdw9GKvNCrB2aB54gb2uV9MfQC", 105 | "account": { 106 | "lamports": 1141440, 107 | "data": [ 108 | "AgAAAH5VK8SIzjJfGYZa4THx+KM/cW+pztMZ/o1tqTpBMLK/", 109 | "base64" 110 | ], 111 | "owner": "BPFLoaderUpgradeab1e11111111111111111111111", 112 | "executable": true, 113 | "rentEpoch": 145 114 | } 115 | } 116 | ``` 117 | 118 | The address of the program data is stored in the program account's data: 119 | 120 | ``` 121 | 00000000 02 00 00 00 7e 55 2b c4 88 ce 32 5f 19 86 5a e1 122 | 00000010 31 f1 f8 a3 3f 71 6f a9 ce d3 19 fe 8d 6d a9 3a 123 | 00000020 41 30 b2 bf 124 | ``` 125 | 126 | Drop the `02 00 00 00` prefix (=upgradeable program) and convert the address to Base58. You'll get 127 | `9W9hLqpqjncrV1iYf2D3dt6WQMthM2SBBQ9Q5Rr6ueLn` ([example conversion using CyberChef](https://gchq.github.io/CyberChef/#recipe=JPath_expression('account.data%5B0%5D','%5C%5Cn')From_Base64('A-Za-z0-9%2B/%3D',true)Drop_bytes(0,4,false)To_Base58('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz')&input=ewogICJwdWJrZXkiOiAiV29ybVQzTWNLaEZKMlJraUdwZHc5R0t2TkNyQjJhQjU0Z2IydVY5TWZRQyIsCiAgImFjY291bnQiOiB7CiAgICAibGFtcG9ydHMiOiAxMTQxNDQwLAogICAgImRhdGEiOiBbCiAgICAgICJBZ0FBQUg1Vks4U0l6akpmR1laYTRUSHgrS00vY1crcHp0TVovbzF0cVRwQk1MSy8iLAogICAgICAiYmFzZTY0IgogICAgXSwKICAgICJvd25lciI6ICJCUEZMb2FkZXJVcGdyYWRlYWIxZTExMTExMTExMTExMTExMTExMTExMTExIiwKICAgICJleGVjdXRhYmxlIjogdHJ1ZSwKICAgICJyZW50RXBvY2giOiAxNDUKICB9Cn0K)). 128 | This is the account which contains the actual program data to compare to. 129 | 130 | Strip the metadata from the account to get the raw binary: 131 | 132 | ```bash 133 | solana account 9W9hLqpqjncrV1iYf2D3dt6WQMthM2SBBQ9Q5Rr6ueLn --output json | \ 134 | jq -r .account.data[0] | base64 -d | tail -c +46 | head -c -557 > wormhole-onchain.so 135 | 136 | sha256sum wormhole-onchain.so 137 | ``` 138 | 139 | This should get you the same checksum as above, verifying that the on-chain contract is indeed identical. 140 | -------------------------------------------------------------------------------- /mainnetv2/applications.md: -------------------------------------------------------------------------------- 1 | # Wormhole v2 Mainnet 2 | 3 | This document lists mainnet deployments of Wormhole-based applications deployed from the certusone/wormhole repository. 4 | 5 | ## Token Bridge 6 | 7 | | Network | Wormhole token bridge contract address | 8 | |-------------------------------|------------------------------------------------| 9 | | Ethereum Mainnet | [`0x3ee18B2214AFF97000D974cf647E7C347E8fa585`](https://etherscan.io/address/0x3ee18B2214AFF97000D974cf647E7C347E8fa585) | 10 | | Solana Mainnet | [`wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb`](https://explorer.solana.com/address/wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb) | 11 | 12 | -------------------------------------------------------------------------------- /mainnetv2/guardianset/v1.prototxt: -------------------------------------------------------------------------------- 1 | # do not modify timestamp 2 | timestamp: 1628094930 3 | 4 | # Add your mainnet v2 nodes here. A maximum of 19 nodes can be specified! 5 | guardian_set: { 6 | guardians: { 7 | pubkey: "0x58CC3AE5C097b213cE3c81979e1B9f9570746AA5" 8 | name: "Certus One" 9 | } 10 | guardians: { 11 | pubkey: "0xfF6CB952589BDE862c25Ef4392132fb9D4A42157" 12 | name: "Staked" 13 | } 14 | guardians: { 15 | pubkey: "0x114De8460193bdf3A2fCf81f86a09765F4762fD1" 16 | name: "Figment" 17 | } 18 | guardians: { 19 | pubkey: "0x107A0086b32d7A0977926A205131d8731D39cbEB" 20 | name: "ChainodeTech" 21 | } 22 | guardians: { 23 | pubkey: "0x8C82B2fd82FaeD2711d59AF0F2499D16e726f6b2" 24 | name: "Inotel" 25 | } 26 | guardians: { 27 | pubkey: "0x11b39756C042441BE6D8650b69b54EbE715E2343" 28 | name: "HashQuark" 29 | } 30 | guardians: { 31 | pubkey: "0x54Ce5B4D348fb74B958e8966e2ec3dBd4958a7cd" 32 | name: "Chainlayer" 33 | } 34 | guardians: { 35 | pubkey: "0xeB5F7389Fa26941519f0863349C223b73a6DDEE7" 36 | name: "DokiaCapital" 37 | } 38 | guardians: { 39 | pubkey: "0x74a3bf913953D695260D88BC1aA25A4eeE363ef0" 40 | name: "Forbole" 41 | } 42 | guardians: { 43 | pubkey: "0x000aC0076727b35FBea2dAc28fEE5cCB0fEA768e" 44 | name: "Staking Fund" 45 | } 46 | guardians: { 47 | pubkey: "0xAF45Ced136b9D9e24903464AE889F5C8a723FC14" 48 | name: "MoonletWallet" 49 | } 50 | guardians: { 51 | pubkey: "0xf93124b7c738843CBB89E864c862c38cddCccF95" 52 | name: "P2P.ORG Validator" 53 | } 54 | guardians: { 55 | pubkey: "0xD2CC37A4dc036a8D232b48f62cDD4731412f4890" 56 | name: "01Node" 57 | } 58 | guardians: { 59 | pubkey: "0xDA798F6896A3331F64b48c12D1D57Fd9cbe70811" 60 | name: "MCF" 61 | } 62 | guardians: { 63 | pubkey: "0x71AA1BE1D36CaFE3867910F99C09e347899C19C3" 64 | name: "Everstake" 65 | } 66 | guardians: { 67 | pubkey: "0x8192b6E7387CCd768277c17DAb1b7a5027c0b3Cf" 68 | name: "Chorus One" 69 | } 70 | guardians: { 71 | pubkey: "0x178e21ad2E77AE06711549CFBB1f9c7a9d8096e8" 72 | name: "Syncnode" 73 | } 74 | guardians: { 75 | pubkey: "0x5E1487F35515d02A92753504a8D75471b9f49EdB" 76 | name: "Triton" 77 | } 78 | guardians: { 79 | pubkey: "0x6FbEBc898F403E4773E95feB15E80C9A99c8348d" 80 | name: "Staking Facilities" 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /mainnetv2/guardianset/v2.prototxt: -------------------------------------------------------------------------------- 1 | # do not modify timestamp 2 | timestamp: 1651416474 3 | 4 | guardian_set: { 5 | guardians: { 6 | pubkey: "0x58CC3AE5C097b213cE3c81979e1B9f9570746AA5" 7 | name: "Certus One" 8 | } 9 | guardians: { 10 | pubkey: "0xfF6CB952589BDE862c25Ef4392132fb9D4A42157" 11 | name: "Staked" 12 | } 13 | guardians: { 14 | pubkey: "0x114De8460193bdf3A2fCf81f86a09765F4762fD1" 15 | name: "Figment" 16 | } 17 | guardians: { 18 | pubkey: "0x107A0086b32d7A0977926A205131d8731D39cbEB" 19 | name: "ChainodeTech" 20 | } 21 | guardians: { 22 | pubkey: "0x8C82B2fd82FaeD2711d59AF0F2499D16e726f6b2" 23 | name: "Inotel" 24 | } 25 | guardians: { 26 | pubkey: "0x11b39756C042441BE6D8650b69b54EbE715E2343" 27 | name: "HashQuark" 28 | } 29 | guardians: { 30 | pubkey: "0x54Ce5B4D348fb74B958e8966e2ec3dBd4958a7cd" 31 | name: "Chainlayer" 32 | } 33 | guardians: { 34 | pubkey: "0x66B9590e1c41e0B226937bf9217D1d67Fd4E91F5" 35 | name: "FTX" 36 | } 37 | guardians: { 38 | pubkey: "0x74a3bf913953D695260D88BC1aA25A4eeE363ef0" 39 | name: "Forbole" 40 | } 41 | guardians: { 42 | pubkey: "0x000aC0076727b35FBea2dAc28fEE5cCB0fEA768e" 43 | name: "Staking Fund" 44 | } 45 | guardians: { 46 | pubkey: "0xAF45Ced136b9D9e24903464AE889F5C8a723FC14" 47 | name: "MoonletWallet" 48 | } 49 | guardians: { 50 | pubkey: "0xf93124b7c738843CBB89E864c862c38cddCccF95" 51 | name: "P2P.ORG Validator" 52 | } 53 | guardians: { 54 | pubkey: "0xD2CC37A4dc036a8D232b48f62cDD4731412f4890" 55 | name: "01Node" 56 | } 57 | guardians: { 58 | pubkey: "0xDA798F6896A3331F64b48c12D1D57Fd9cbe70811" 59 | name: "MCF" 60 | } 61 | guardians: { 62 | pubkey: "0x71AA1BE1D36CaFE3867910F99C09e347899C19C3" 63 | name: "Everstake" 64 | } 65 | guardians: { 66 | pubkey: "0x8192b6E7387CCd768277c17DAb1b7a5027c0b3Cf" 67 | name: "Chorus One" 68 | } 69 | guardians: { 70 | pubkey: "0x178e21ad2E77AE06711549CFBB1f9c7a9d8096e8" 71 | name: "Syncnode" 72 | } 73 | guardians: { 74 | pubkey: "0x5E1487F35515d02A92753504a8D75471b9f49EdB" 75 | name: "Triton" 76 | } 77 | guardians: { 78 | pubkey: "0x6FbEBc898F403E4773E95feB15E80C9A99c8348d" 79 | name: "Staking Facilities" 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /mainnetv2/guardianset/v3.prototxt: -------------------------------------------------------------------------------- 1 | # do not modify timestamp 2 | timestamp: 1673870400 3 | 4 | guardian_set: { 5 | guardians: { 6 | pubkey: "0x58CC3AE5C097b213cE3c81979e1B9f9570746AA5" 7 | name: "Certus One" 8 | } 9 | guardians: { 10 | pubkey: "0xfF6CB952589BDE862c25Ef4392132fb9D4A42157" 11 | name: "Staked" 12 | } 13 | guardians: { 14 | pubkey: "0x114De8460193bdf3A2fCf81f86a09765F4762fD1" 15 | name: "Figment" 16 | } 17 | guardians: { 18 | pubkey: "0x107A0086b32d7A0977926A205131d8731D39cbEB" 19 | name: "ChainodeTech" 20 | } 21 | guardians: { 22 | pubkey: "0x8C82B2fd82FaeD2711d59AF0F2499D16e726f6b2" 23 | name: "Inotel" 24 | } 25 | guardians: { 26 | pubkey: "0x11b39756C042441BE6D8650b69b54EbE715E2343" 27 | name: "HashQuark" 28 | } 29 | guardians: { 30 | pubkey: "0x54Ce5B4D348fb74B958e8966e2ec3dBd4958a7cd" 31 | name: "Chainlayer" 32 | } 33 | guardians: { 34 | pubkey: "0x15e7cAF07C4e3DC8e7C469f92C8Cd88FB8005a20" 35 | name: "xLabs" 36 | } 37 | guardians: { 38 | pubkey: "0x74a3bf913953D695260D88BC1aA25A4eeE363ef0" 39 | name: "Forbole" 40 | } 41 | guardians: { 42 | pubkey: "0x000aC0076727b35FBea2dAc28fEE5cCB0fEA768e" 43 | name: "Staking Fund" 44 | } 45 | guardians: { 46 | pubkey: "0xAF45Ced136b9D9e24903464AE889F5C8a723FC14" 47 | name: "MoonletWallet" 48 | } 49 | guardians: { 50 | pubkey: "0xf93124b7c738843CBB89E864c862c38cddCccF95" 51 | name: "P2P.ORG Validator" 52 | } 53 | guardians: { 54 | pubkey: "0xD2CC37A4dc036a8D232b48f62cDD4731412f4890" 55 | name: "01Node" 56 | } 57 | guardians: { 58 | pubkey: "0xDA798F6896A3331F64b48c12D1D57Fd9cbe70811" 59 | name: "MCF" 60 | } 61 | guardians: { 62 | pubkey: "0x71AA1BE1D36CaFE3867910F99C09e347899C19C3" 63 | name: "Everstake" 64 | } 65 | guardians: { 66 | pubkey: "0x8192b6E7387CCd768277c17DAb1b7a5027c0b3Cf" 67 | name: "Chorus One" 68 | } 69 | guardians: { 70 | pubkey: "0x178e21ad2E77AE06711549CFBB1f9c7a9d8096e8" 71 | name: "Syncnode" 72 | } 73 | guardians: { 74 | pubkey: "0x5E1487F35515d02A92753504a8D75471b9f49EdB" 75 | name: "Triton" 76 | } 77 | guardians: { 78 | pubkey: "0x6FbEBc898F403E4773E95feB15E80C9A99c8348d" 79 | name: "Staking Facilities" 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /mainnetv2/guardianset/v4.prototxt: -------------------------------------------------------------------------------- 1 | # do not modify timestamp 2 | timestamp: 1713281400 3 | 4 | guardian_set: { 5 | guardians: { 6 | pubkey: "0x5893B5A76c3f739645648885bDCcC06cd70a3Cd3" 7 | name: "RockawayX" 8 | } 9 | guardians: { 10 | pubkey: "0xfF6CB952589BDE862c25Ef4392132fb9D4A42157" 11 | name: "Staked" 12 | } 13 | guardians: { 14 | pubkey: "0x114De8460193bdf3A2fCf81f86a09765F4762fD1" 15 | name: "Figment" 16 | } 17 | guardians: { 18 | pubkey: "0x107A0086b32d7A0977926A205131d8731D39cbEB" 19 | name: "ChainodeTech" 20 | } 21 | guardians: { 22 | pubkey: "0x8C82B2fd82FaeD2711d59AF0F2499D16e726f6b2" 23 | name: "Inotel" 24 | } 25 | guardians: { 26 | pubkey: "0x11b39756C042441BE6D8650b69b54EbE715E2343" 27 | name: "HashQuark" 28 | } 29 | guardians: { 30 | pubkey: "0x54Ce5B4D348fb74B958e8966e2ec3dBd4958a7cd" 31 | name: "Chainlayer" 32 | } 33 | guardians: { 34 | pubkey: "0x15e7cAF07C4e3DC8e7C469f92C8Cd88FB8005a20" 35 | name: "xLabs" 36 | } 37 | guardians: { 38 | pubkey: "0x74a3bf913953D695260D88BC1aA25A4eeE363ef0" 39 | name: "Forbole" 40 | } 41 | guardians: { 42 | pubkey: "0x000aC0076727b35FBea2dAc28fEE5cCB0fEA768e" 43 | name: "Staking Fund" 44 | } 45 | guardians: { 46 | pubkey: "0xAF45Ced136b9D9e24903464AE889F5C8a723FC14" 47 | name: "MoonletWallet" 48 | } 49 | guardians: { 50 | pubkey: "0xf93124b7c738843CBB89E864c862c38cddCccF95" 51 | name: "P2P.ORG Validator" 52 | } 53 | guardians: { 54 | pubkey: "0xD2CC37A4dc036a8D232b48f62cDD4731412f4890" 55 | name: "01Node" 56 | } 57 | guardians: { 58 | pubkey: "0xDA798F6896A3331F64b48c12D1D57Fd9cbe70811" 59 | name: "MCF" 60 | } 61 | guardians: { 62 | pubkey: "0x71AA1BE1D36CaFE3867910F99C09e347899C19C3" 63 | name: "Everstake" 64 | } 65 | guardians: { 66 | pubkey: "0x8192b6E7387CCd768277c17DAb1b7a5027c0b3Cf" 67 | name: "Chorus One" 68 | } 69 | guardians: { 70 | pubkey: "0x178e21ad2E77AE06711549CFBB1f9c7a9d8096e8" 71 | name: "Syncnode" 72 | } 73 | guardians: { 74 | pubkey: "0x5E1487F35515d02A92753504a8D75471b9f49EdB" 75 | name: "Triton" 76 | } 77 | guardians: { 78 | pubkey: "0x6FbEBc898F403E4773E95feB15E80C9A99c8348d" 79 | name: "Staking Facilities" 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /mainnetv2/info.md: -------------------------------------------------------------------------------- 1 | # Wormhole v2 Mainnet 2 | 3 | Wormhole mainnet connects the following chains: 4 | 5 | - Solana [Mainnet Beta](https://docs.solana.com/clusters#mainnet-beta). 6 | 7 | - Ethereum Mainnet. 8 | 9 | - Terra Columbus mainnet. 10 | 11 | - Binance Smart Chain mainnet. 12 | 13 | It runs the [v2.5.0](https://github.com/certusone/wormhole/releases/tag/v2.5.0) guardiand reference implementation. 14 | 15 | ## Network parameters 16 | 17 | Gossip network name: 18 | 19 | /wormhole/mainnet/2 20 | 21 | Gossip bootstrap node: 22 | 23 | /dns4/wormhole-mainnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWQp644DK27fd3d4Km3jr7gHiuJJ5ZGmy8hH4py7fP4FP7 24 | 25 | Connected chain contracts: 26 | 27 | | Network | Wormhole core contract address | 28 | |-------------------------------|------------------------------------------------| 29 | | Ethereum Mainnet (Core) | [`0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B`](https://etherscan.io/address/0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B) | 30 | | Ethereum Mainnet (Impl) | [`0x736d2a394f7810c17b3c6fed017d5bc7d60c077d`](https://etherscan.io/address/0x736d2a394f7810c17b3c6fed017d5bc7d60c077d) | 31 | | Binance Smart Chain (Core) | [`0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B`](https://bscscan.com/address/0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B) | 32 | | Binance Smart Chain (Impl) | [`0x736d2a394f7810c17b3c6fed017d5bc7d60c077d`](https://bscscan.com/address/0x736d2a394f7810c17b3c6fed017d5bc7d60c077d) | 33 | | Solana Mainnet | [`worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth`](https://explorer.solana.com/address/worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth) | 34 | | Terra Columbus-5 | [`terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5`](https://finder.terra.money/columbus-5/address/terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5) | 35 | | Polygon Mainnet (Core) | [`0x7A4B5a56256163F07b2C80A7cA55aBE66c4ec4d7`](https://polygonscan.com/address/0x7A4B5a56256163F07b2C80A7cA55aBE66c4ec4d7#code) | 36 | | Polygon Mainnet (Impl) | [`0xd2F50cAFfCaf238a0C3e78Ce81c5BF7D9f7f3350`](https://polygonscan.com/address/0xd2F50cAFfCaf238a0C3e78Ce81c5BF7D9f7f3350#code) | 37 | 38 | Eth and BSC use the same deployer key, leading to identical addresses. This key has no privileges. 39 | 40 | ## Guardian set 41 | 42 | Current generation: **3** (see [v3.prototext](guardianset/v3.prototxt)). 43 | 44 | ## Example command line options 45 | 46 | Refer to the [operations guide](https://github.com/certusone/wormhole/blob/dev.v2/docs/operations.md) on how to set up a node. 47 | Example systemd unit file: 48 | 49 | ``` 50 | [Unit] 51 | Description=wormhole v2 guardiand 52 | Requires=network.target 53 | After=network.target 54 | 55 | [Service] 56 | User=wormhole 57 | Group=wormhole 58 | ExecStart=/opt/wormhole/wormhole/build/bin/guardiand node \ 59 | --bootstrap "/dns4/wormhole-mainnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWL6xoqY8yU2xR2K6cP6jix4LnGSrRh94HCKiK371qUFeU" \ 60 | --network "/wormhole/mainnet/2" \ 61 | --ethContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \ 62 | --bscContract "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B" \ 63 | --polygonContract "0x7A4B5a56256163F07b2C80A7cA55aBE66c4ec4d7" \ 64 | --solanaContract "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth" \ 65 | --terraContract "terra1dq03ugtd40zu9hcgdzrsq6z2z4hwhc9tqk2uy5" \ 66 | --adminSocket /run/guardiand/admin.socket \ 67 | --dataDir /opt/wormhole/data \ 68 | --nodeName "" \ # <-- your node's name (for network explorer usage) 69 | --nodeKey "/opt/wormhole/keys/wormhole-node.key" \ # <-- node key (auto-generated if not present) 70 | --guardianKey "/opt/wormhole/keys/wormhole-guardian.key" \ # <-- your guardian key generated by "guardiand keygen" 71 | --ethRPC "wss://your-eth-node" \ # <-- your ETH full/light node websocket URI (ws:// or wss://) 72 | --bscRPC "wss://bsc-node.example.com" \ # <-- your BSC full/light node websocket URI 73 | --polygonRPC "wss://polygon-node.example.com" \ # <-- your Polygon Bor full/light node websocket URI 74 | --solanaRPC "http://solana-node:8899" \ # <-- Solana RPC URI 75 | --solanaWS "ws://solana-node:8900" \ # <-- Solana WS URI (typically RPC +1) 76 | --terraWS "ws://terra-node/websocket" \ # <-- Terra node websocket URI 77 | --terraLCD "http://terra-node:1317" \ # <-- Terra LCD server HTTP URI 78 | --statusAddr=[::]:6060 # <-- exposes Prometheus metrics - firewall recommended 79 | RuntimeDirectory=guardiand 80 | RuntimeDirectoryMode=700 81 | RuntimeDirectoryPreserve=yes 82 | PermissionsStartOnly=yes 83 | PrivateTmp=yes 84 | PrivateDevices=yes 85 | SecureBits=keep-caps 86 | AmbientCapabilities=CAP_IPC_LOCK 87 | CapabilityBoundingSet=CAP_IPC_LOCK 88 | NoNewPrivileges=yes 89 | Restart=on-failure 90 | RestartSec=5s 91 | LimitNOFILE=65536 92 | LimitMEMLOCK=infinity 93 | 94 | [Install] 95 | WantedBy=multi-user.target 96 | ``` 97 | -------------------------------------------------------------------------------- /testnetv1/artifacts/terra/cw20_wrapped.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wormhole-foundation/wormhole-networks/2edd251d37b0dc3d4e759ff80db406a866b70d28/testnetv1/artifacts/terra/cw20_wrapped.wasm -------------------------------------------------------------------------------- /testnetv1/artifacts/terra/git-ref: -------------------------------------------------------------------------------- 1 | bfa8a974e5b36b5616e9cd438cae9ef0c350ad07 2 | -------------------------------------------------------------------------------- /testnetv1/artifacts/terra/wormhole.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wormhole-foundation/wormhole-networks/2edd251d37b0dc3d4e759ff80db406a866b70d28/testnetv1/artifacts/terra/wormhole.wasm -------------------------------------------------------------------------------- /testnetv1/guardianset/v1.prototxt: -------------------------------------------------------------------------------- 1 | timestamp: 1612465182 2 | 3 | guardian_set: { 4 | # idx = 0 5 | guardians: { 6 | pubkey: "0xd0f017B48d0ce29fB31dAde2F1413C93F73913D9" 7 | name: "P2P Validator" 8 | } 9 | 10 | # idx = 1 11 | guardians: { 12 | pubkey: "0xacDdB005a6FE071E7955c2311241f03F6eC51b63" 13 | name: "Everstake" 14 | } 15 | 16 | # idx = 2 17 | guardians: { 18 | pubkey: "0x52238D2F89CBf5DaD246309B7B90e7D200150614" 19 | name: "Dokia Capital" 20 | } 21 | 22 | # idx = 3 23 | guardians: { 24 | pubkey: "0xAF3FfcE9237eb9E0DE35a13DEA83AD53de3025E2" 25 | name: "Staking Facilities" 26 | } 27 | 28 | # idx = 4 29 | guardians: { 30 | pubkey: "0x9E5325D192D2A3eEfc383C8c528a471E27252d34" 31 | name: "Chorus One" 32 | } 33 | 34 | # idx = 5 35 | guardians: { 36 | pubkey: "0x8b1c9eFA61eBF66Fa1a6deDCF46fb1e37708ce5c" 37 | name: "Certus One" 38 | } 39 | 40 | # idx = 6 41 | guardians: { 42 | pubkey: "0x50Cb498bE4370CEa95d4977D923d60a6ADfd8E57" 43 | name: "Chainlayer" 44 | } 45 | 46 | # idx = 7 47 | guardians: { 48 | pubkey: "0xaF808a559156DFFa64b5032C6E97742b60420554" 49 | name: "Staking Fund" 50 | } 51 | 52 | # idx = 8 53 | guardians: { 54 | pubkey: "0xF30C810D73721B9AD64FcCd182cbcb5de9286bE1" 55 | name: "01Node" 56 | } 57 | 58 | # idx = 9 59 | guardians: { 60 | pubkey: "0xCD522e3AA0aBa7Bd43C7762Ffa2B93df7d93c949" 61 | name: "Morphism" 62 | } 63 | 64 | # idx = 10 65 | guardians: { 66 | pubkey: "0xa7b2037D3e1830731b31ca13f65778774b12c694" 67 | name: "Hashquark" 68 | } 69 | 70 | # idx = 11 71 | guardians: { 72 | pubkey: "0x2895Ae701c799b6B8328bab664D10f5B299b8c18" 73 | name: "Melea Trust" 74 | } 75 | 76 | # idx = 12 77 | guardians: { 78 | pubkey: "0x82b425593e41008ac212E355B67C589bbA27137d" 79 | name: "Moonlet" 80 | } 81 | 82 | # idx = 13 83 | guardians: { 84 | pubkey: "0x40d7e9406953E1BEbf7f409039954F9bd5E63b0b" 85 | name: "Forbole" 86 | } 87 | 88 | # idx = 14 89 | guardians: { 90 | pubkey: "0x64cabfBE67B853be3546b14E86E55c7BCf00413B" 91 | name: "Jump Trading" 92 | } 93 | 94 | # idx = 15 95 | guardians: { 96 | pubkey: "0xbeC984Cb075a1fe20991619C5c5c081F6c83Bf8B" 97 | name: "Smith MCF" 98 | } 99 | 100 | # idx = 16 101 | guardians: { 102 | pubkey: "0x916Cbd15d2dF7BebaF243cfdBb85d1d5e453644D" 103 | name: "Chainode Tech" 104 | } 105 | 106 | # idx = 17 107 | guardians: { 108 | pubkey: "MISSING" 109 | name: "syncnode" 110 | } 111 | 112 | # idx = 18 113 | guardians: { 114 | pubkey: "0x775AC506dfF9b575136B0D850f129Da4c449FDb4" 115 | name: "Inotel" 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /testnetv1/info.md: -------------------------------------------------------------------------------- 1 | # Wormhole Testnet 2 | 3 | This Wormhole testnet connects the following chains: 4 | 5 | - Solana [Tour de Sol testnet](https://docs.solana.com/clusters#testnet). 6 | 7 | - Ethereum [Goerli testnet](https://goerli.net). 8 | 9 | - Terra [Tequila-0004 testnet](https://finder.terra.money/tequila-0004/). 10 | 11 | ## Network parameters 12 | 13 | Gossip network name: 14 | 15 | /wormhole/testnet/1 16 | 17 | Gossip bootstrap node: 18 | 19 | /dns4/wormhole-testnet-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWH3VP44t12yKQXrPfMQVKEqSHnk5GTN3RCSqNoakAkLCq 20 | 21 | Connected chain contracts: 22 | 23 | | Network | Bridge contract addresss | 24 | |---------------------------|------------------------------------------------| 25 | | Ethereum Goerli (Bridge) | [`0x251bBCD91E84098509beaeAfF0B9951859af66D3`](https://goerli.etherscan.io/address/0x251bBCD91E84098509beaeAfF0B9951859af66D3) | 26 | | Ethereum Goerli (Token) | [`0xE39f0b145C0aF079B214c5a8840B2B01eA14794c`](https://goerli.etherscan.io/address/0xE39f0b145C0aF079B214c5a8840B2B01eA14794c) | 27 | | Solana Tour de Sol | [`5gQf5AUhAgWYgUCt9ouShm9H7dzzXUsLdssYwe5krKhg`](https://explorer.solana.com/address/5gQf5AUhAgWYgUCt9ouShm9H7dzzXUsLdssYwe5krKhg?cluster=testnet) | 28 | | Terra Tequila-0004 | [`terra18dxnzu8w9dfss3ktetr43p9kuhcjnan8p30puw`](https://finder.terra.money/tequila-0004/address/terra176ckj5gu5vc704033wlm87avrem83pa4vx6c4p) | 29 | 30 | A copy of the contract binaries that were deployed can be found in [artifacts/](artifacts), along with a pointer to the 31 | Wormhole revision that they were built from. 32 | 33 | ## Guardian set 34 | 35 | Current generation: **0**, containing only the Certus One bootstrap node with the 36 | address `0x8b1c9eFA61eBF66Fa1a6deDCF46fb1e37708ce5c`. 37 | 38 | See [v1.prototext](guardianset/v1.prototxt) for the first guardian set update that will be executed once everyone's 39 | node on the network is live. 40 | 41 | ## Example command line options 42 | 43 | Refer to the [operations guide](https://github.com/certusone/wormhole/blob/master/docs/operations.md) on how to set up a node. 44 | 45 | ```bash 46 | /usr/local/bin/guardiand bridge \ 47 | --bootstrap "/dns4/wormhole-testnet-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWH3VP44t12yKQXrPfMQVKEqSHnk5GTN3RCSqNoakAkLCq" 48 | --network "/wormhole/testnet/1" \ 49 | --ethContract "0x251bBCD91E84098509beaeAfF0B9951859af66D3" \ 50 | --solanaBridgeAddress 5gQf5AUhAgWYgUCt9ouShm9H7dzzXUsLdssYwe5krKhg \ # <-- Solana Bridge address, same as the agent 51 | --solanaRPC http://solana-host:8899 \ # <-- Solana RPC URI, same as the agent 52 | --solanaWS ws://solana-devnet:8900 \ # <-- Solana websocket URI, same as the agent 53 | --nodeName "Certus One" \ # <-- your node's name (for network explorer usage) 54 | --nodeKey /opt/solana/keys/wormhole-node.key \ # <-- auto-generated node key 55 | --bridgeKey /opt/solana/keys/wormhole-guardian.key \ # <-- your guardian key generated by "guardiand keygen" 56 | --ethRPC wss://ethereum-node.example.com/ws/v3/[...] \ # <-- your ETH full/light node websocket URI 57 | --adminSocket /run/guardiand/admin.socket \ 58 | --agentRPC /run/guardiand/agent.socket \ 59 | --terra \ 60 | --terraWS wss://terra-node.example.com:26657/websocket \ # <-- Terra node websocket URI 61 | --terraLCD https://terra-lcd.example.com:1317 \ # <-- Terra LCD node HTTP URI 62 | --terraChainID "tequila-0004" \ 63 | --terraContract "terra18dxnzu8w9dfss3ktetr43p9kuhcjnan8p30puw" \ 64 | --terraKey /tmp/terra.key # <-- path to mnemonic key for the Terra transaction fee payer 65 | ``` 66 | 67 | ```bash 68 | /usr/local/bin/guardiand-solana-agent \ 69 | --bridge 5gQf5AUhAgWYgUCt9ouShm9H7dzzXUsLdssYwe5krKhg \ 70 | --rpc http://solana-host:8899 \ # <-- URL of your Solana validator RPC server 71 | --ws ws://solana-devnet:8900 \ # <-- Websocket path to your Solana validator PubSub port (RPC port +1) 72 | --keypair /path/to/feepayer.json \ # <-- Keypair of a Solana fee payer account with ~10 SOL in it 73 | --socket /run/guardiand/agent.socket 74 | ``` 75 | 76 | There's a key with a couple thousand SOL in this folder - you can use it to transfer 10 SOL to your own fee account. 77 | We want to test the fee subsidization logic the same way as on mainnet, so please stick with that range. 78 | -------------------------------------------------------------------------------- /testnetv1/wormQUDWQzs2NMcCU63Gr4QFtn6HiK69supbw7wnuR8.json: -------------------------------------------------------------------------------- 1 | [243,153,14,253,250,16,98,206,105,150,166,229,23,26,44,88,176,226,120,7,103,253,57,61,69,99,0,24,49,128,242,215,14,10,88,162,147,69,167,184,194,244,210,149,34,7,251,216,211,159,196,77,220,219,16,38,112,186,118,87,252,158,146,111] 2 | -------------------------------------------------------------------------------- /testnetv2/guardianset/v1.prototxt: -------------------------------------------------------------------------------- 1 | # do not modify timestamp 2 | timestamp: 1626924942 3 | 4 | # Add your testnet v2 nodes here. A maximum of 19 nodes can be specified! 5 | guardian_set: { 6 | guardians: { 7 | pubkey: "0x13947Bd48b18E53fdAeEe77F3473391aC727C638" 8 | name: "Certus One" 9 | } 10 | guardians: { 11 | pubkey: "0xF18AbBac073741DD0F002147B735Ff642f3D113F" 12 | name: "DokiaCapital" 13 | } 14 | guardians: { 15 | pubkey: "0x9925A94DC043D0803f8ef502D2dB15cAc9e02D76" 16 | name: "Staking Fund" 17 | } 18 | guardians: { 19 | pubkey: "0x9e4EC2D92af8602bCE74a27F99A836f93C4a31E4" 20 | name: "Inotel" 21 | } 22 | guardians: { 23 | pubkey: "0x9C40c4052A3092AfB8C99B985fcDfB586Ed19c98" 24 | name: "ChainodeTech" 25 | } 26 | guardians: { 27 | pubkey: "0xB86020cF1262AA4dd5572Af76923E271169a2CA7" 28 | name: "Figment" 29 | } 30 | guardians: { 31 | pubkey: "0x1937617fE1eD801fBa14Bd8BB9EDEcBA7A942FFe" 32 | name: "01Node" 33 | } 34 | guardians: { 35 | pubkey: "0x9475b8D45DdE53614d92c779787C27fE2ef68752" 36 | name: "Chainlayer" 37 | } 38 | guardians: { 39 | pubkey: "0x15A53B22c28AbC7B108612146B6aAa4a537bA305" 40 | name: "Forbole" 41 | } 42 | guardians: { 43 | pubkey: "0x63842657C7aC7e37B04FBE76b8c54EFe014D04E1" 44 | name: "Syncnode" 45 | } 46 | guardians: { 47 | pubkey: "0x948ca1bBF4B858DF1A505b4C69c5c61bD95A12Bd" 48 | name: "MCF" 49 | } 50 | guardians: { 51 | pubkey: "0xA6923e2259F8B5541eD18e410b8DdEE618337ff0" 52 | name: "MoonletWallet" 53 | } 54 | guardians: { 55 | pubkey: "0xF678Daf4b7f2789AA88A081618Aa966D6a39e064" 56 | name: "Staked" 57 | } 58 | guardians: { 59 | pubkey: "0x8cF31021838A8B3fFA43a71a50609877846f9E6d" 60 | name: "Staking Facilities" 61 | } 62 | guardians: { 63 | pubkey: "0xeB15bCF2ae4f957012330B4741ecE3242De96184" 64 | name: "Chorus One" 65 | } 66 | guardians: { 67 | pubkey: "0xcc3766a03e4faec44Bda7a46D9Ea2A9D124e9Bf8" 68 | name: "Everstake" 69 | } 70 | guardians: { 71 | pubkey: "0x841f499Ba89a6a8E9dD273BAd82Beb175094E5d7" 72 | name: "HashQuark" 73 | } 74 | guardians: { 75 | pubkey: "0xf5F2b82576e6CA17965dee853d08bbB471FA2433" 76 | name: "P2P.ORG Validator" 77 | } 78 | guardians: { 79 | pubkey: "0x2bC2B1204599D4cA0d4Dde4a658a42c4dD13103a" 80 | name: "Triton" 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /testnetv2/info.md: -------------------------------------------------------------------------------- 1 | # Wormhole v2 Testnet 2 | 3 | This Wormhole testnet connects the following chains: 4 | 5 | - Solana [Tour de Sol testnet](https://docs.solana.com/clusters#testnet). 6 | 7 | - Ethereum [Goerli testnet](https://goerli.net). 8 | 9 | - Terra [Tequila-0004 testnet](https://finder.terra.money/tequila-0004/). 10 | 11 | - Binance Smart Chain (mainnet, there's no testnet). 12 | 13 | It runs the [v2.1.1](https://github.com/certusone/wormhole/releases/tag/v2.1.1) guardiand reference implementation. 14 | 15 | ## Important differences from v2 16 | 17 | Wormhole v2 is a **full redesign and not backwards compatible**. 18 | 19 | When it comes to guardiand operation, the basics stay the same - we observe events from various connected chains, 20 | sign them and broadcast the signature to the network. Here's the main operational differences compared to v1: 21 | 22 | - guardiand now has a **data directory** and is no longer stateless. guardiand will start maintaining local 23 | network state like a gossip address book, persisted signed VAAs and a high watermark to catch up on missed blocks. 24 | You do not need to back up the data directory, but it's recommended to copy it when migrating between servers - 25 | doing so will improve network health. 26 | 27 | - Terra is no longer optional - you need to connect a **Terra node**. 28 | 29 | - guardiand no longer sends on-chain transactions. This means that **no wallets or funds are required** anymore 🎉 30 | It also means that the **Rust agent is no longer required**. 31 | 32 | ## Network parameters 33 | 34 | Gossip network name: 35 | 36 | /wormhole/testnet/2/1 37 | 38 | Gossip bootstrap node: 39 | 40 | /dns4/wormhole-testnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWBY9ty9CXLBXGQzMuqkziLntsVcyz4pk1zWaJRvJn6Mmt 41 | 42 | gRPC-web/REST API: 43 | 44 | https://wormhole-v2-testnet-api.certus.one 45 | 46 | ## Guardian set 47 | 48 | Current generation: **0**, containing only the Certus One bootstrap node with the 49 | address `0x13947Bd48b18E53fdAeEe77F3473391aC727C638`. 50 | 51 | See [v1.prototext](guardianset/v1.prototxt) for the first guardian set update that will be executed once everyone's 52 | node on the network is live. 53 | 54 | ## Example command line options 55 | 56 | Refer to the [operations guide](https://github.com/certusone/wormhole/blob/dev.v2/docs/operations.md) on how to set up a node. 57 | Example systemd unit file: 58 | 59 | ``` 60 | [Unit] 61 | Description=wormhole v2 guardiand 62 | Requires=network.target 63 | After=network.target 64 | 65 | [Service] 66 | User=wormhole 67 | Group=wormhole 68 | ExecStart=/opt/wormhole/wormhole/build/bin/guardiand node \ 69 | --bootstrap "/dns4/wormhole-testnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWBY9ty9CXLBXGQzMuqkziLntsVcyz4pk1zWaJRvJn6Mmt" \ 70 | --network "/wormhole/testnet/2" \ 71 | --ethContract "0x44F3e7c20850B3B5f3031114726A9240911D912a" \ 72 | --bscContract "0x47e6ab734c7ed257716bcc177fb1c35738eac6b8" \ 73 | --solanaContract "Brdguy7BmNB4qwEbcqqMbyV5CyJd2sxQNUn6NEpMSsUb" \ 74 | --terraContract "terra1whed88ncakawrnwgq7vyqly5elftw3wvnjjrps" \ 75 | --adminSocket /run/guardiand/admin.socket \ 76 | --dataDir /opt/wormhole/data \ 77 | --nodeName "NodeyMcNodeface" \ # <--- your node's name (for network explorer usage) 78 | --nodeKey "/opt/wormhole/keys/wormhole-node.key" \ # <-- node key (auto-generated if not present) 79 | --guardianKey "/opt/wormhole/keys/wormhole-guardian.key" \ # <-- your guardian key generated by "guardiand keygen" 80 | --ethRPC "wss://your-eth-node" \ # <-- your ETH full/light node websocket URI (ws:// or wss://) 81 | --bscRPC "wss://bsc-node.example.com" \ # <-- your BSC full/light node websocket URI 82 | --solanaRPC "http://solana-node:8899" \ # <-- Solana RPC URI 83 | --solanaWS "ws://solana-node:8900" \ # <-- Solana WS URI (typically RPC +1) 84 | --terraWS "ws://terra-node/websocket" \ # <-- Terra node websocket URI 85 | --terraLCD "http://terra-node:1317" \ # <-- Terra LCD server HTTP URI 86 | --statusAddr=[::]:6060 # <-- exposes Prometheus metrics - firewall recommended 87 | RuntimeDirectory=guardiand 88 | RuntimeDirectoryMode=700 89 | RuntimeDirectoryPreserve=yes 90 | PermissionsStartOnly=yes 91 | PrivateTmp=yes 92 | PrivateDevices=yes 93 | SecureBits=keep-caps 94 | AmbientCapabilities=CAP_IPC_LOCK 95 | CapabilityBoundingSet=CAP_IPC_LOCK 96 | NoNewPrivileges=yes 97 | Restart=on-failure 98 | RestartSec=5s 99 | LimitNOFILE=65536 100 | LimitMEMLOCK=infinity 101 | 102 | [Install] 103 | WantedBy=multi-user.target 104 | ``` 105 | --------------------------------------------------------------------------------