## Nim-Codex ## Copyright (c) 2022 Status Research & Development GmbH ## Licensed under either of ## * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE)) ## * MIT license ([LICENSE-MIT](LICENSE-MIT)) ## at your option. ## This file may not be copied, modified, or distributed except according to ## those terms. import pkg/upraises push: {.upraises: [].} import std/strutils import std/options import pkg/libp2p import pkg/stew/shims/net func remapAddr*( address: MultiAddress, ip: Option[ValidIpAddress] = ValidIpAddress.none, port: Option[Port] = Port.none ): MultiAddress = ## Remap addresses to new IP and/or Port ## var parts = ($address).split("/") parts[2] = if ip.isSome: $ip.get else: parts[2] parts[4] = if port.isSome: $port.get else: parts[4] MultiAddress.init(parts.join("/")) .expect("Should construct multiaddress")