mirror of
https://github.com/fluencelabs/aqua.git
synced 2025-04-24 22:42:13 +00:00
--show-sk
flag (#465)
This commit is contained in:
parent
e14af21557
commit
fe21fdc1d7
@ -1,21 +1,21 @@
|
||||
package aqua
|
||||
|
||||
import aqua.builder.ArgumentGetter
|
||||
import aqua.raw.value.{LiteralRaw, ValueRaw, VarRaw}
|
||||
import cats.data.{NonEmptyChain, NonEmptyList, Validated, ValidatedNec, ValidatedNel}
|
||||
import Validated.{invalid, invalidNec, valid, validNec, validNel}
|
||||
import aqua.parser.expr.func.CallArrowExpr
|
||||
import aqua.parser.lexer.{LiteralToken, VarToken}
|
||||
import aqua.parser.lift.Span
|
||||
import aqua.types.{ArrayType, BottomType, LiteralType, ScalarType, Type}
|
||||
import cats.{~>, Id}
|
||||
import aqua.raw.value.{LiteralRaw, ValueRaw, VarRaw}
|
||||
import aqua.types.*
|
||||
import cats.data.Validated.{invalid, invalidNec, valid, validNec, validNel}
|
||||
import cats.data.*
|
||||
import cats.effect.Concurrent
|
||||
import com.monovore.decline.Opts
|
||||
import cats.syntax.applicative.*
|
||||
import cats.syntax.apply.*
|
||||
import cats.syntax.flatMap.*
|
||||
import cats.syntax.functor.*
|
||||
import cats.syntax.traverse.*
|
||||
import cats.{~>, Id}
|
||||
import com.monovore.decline.Opts
|
||||
import fs2.io.file.Files
|
||||
|
||||
import scala.scalajs.js
|
||||
|
@ -3,17 +3,17 @@ package aqua
|
||||
import aqua.builder.{ArgumentGetter, Service}
|
||||
import aqua.raw.value.ValueRaw
|
||||
import aqua.run.{GeneralRunOptions, RunCommand, RunOpts}
|
||||
import com.monovore.decline.{Command, Opts}
|
||||
import fs2.io.file.{Files, Path}
|
||||
import cats.data.Validated.{invalid, invalidNec, valid, validNec, validNel}
|
||||
import cats.data.{NonEmptyList, Validated, ValidatedNec}
|
||||
import cats.effect.ExitCode
|
||||
import cats.effect.kernel.Async
|
||||
import cats.syntax.applicative.*
|
||||
import cats.syntax.flatMap.*
|
||||
import cats.syntax.monad.*
|
||||
import cats.syntax.functor.*
|
||||
import cats.data.{NonEmptyList, Validated, ValidatedNec}
|
||||
import Validated.{invalid, invalidNec, valid, validNec, validNel}
|
||||
import cats.syntax.monad.*
|
||||
import cats.{Applicative, Monad}
|
||||
import com.monovore.decline.{Command, Opts}
|
||||
import fs2.io.file.{Files, Path}
|
||||
import scribe.Logging
|
||||
|
||||
import scala.concurrent.ExecutionContext
|
||||
|
@ -23,7 +23,6 @@ import aqua.files.AquaFilesIO
|
||||
import aqua.ipfs.js.IpfsApi
|
||||
import aqua.model.LiteralModel
|
||||
import aqua.raw.value.LiteralRaw
|
||||
import aqua.run.RunCommand.createKeyPair
|
||||
import aqua.run.{GeneralRunOptions, RunCommand, RunConfig, RunOpts}
|
||||
import cats.effect.{Concurrent, ExitCode, Resource, Sync}
|
||||
import cats.syntax.flatMap.*
|
||||
|
@ -3,11 +3,12 @@ package aqua.keypair
|
||||
import aqua.io.OutputPrinter
|
||||
import aqua.js.KeyPair
|
||||
import aqua.keypair.KeyPairShow.show
|
||||
import cats.Applicative.ops.toAllApplicativeOps
|
||||
import cats.effect.ExitCode
|
||||
import cats.effect.kernel.Async
|
||||
import cats.implicits.catsSyntaxApplicativeId
|
||||
import cats.syntax.show.*
|
||||
import cats.syntax.applicative.*
|
||||
import cats.syntax.functor.*
|
||||
import cats.{Applicative, Monad}
|
||||
import com.monovore.decline.{Command, Opts}
|
||||
import scribe.Logging
|
||||
|
@ -135,7 +135,7 @@ object DistOpts extends Logging {
|
||||
"deploy_service",
|
||||
"Deploy service from WASM modules",
|
||||
(
|
||||
GeneralRunOptions.commonOpt,
|
||||
GeneralRunOptions.commonOptWithSecretKey,
|
||||
configFromFileOpt[F],
|
||||
srvNameOpt
|
||||
).mapN { (common, configFromFileF, srvName) =>
|
||||
|
@ -5,17 +5,18 @@ import aqua.backend.FunctionDef
|
||||
import aqua.builder.{Finisher, ResultPrinter, Service}
|
||||
import aqua.io.OutputPrinter
|
||||
import aqua.js.{CallJsFunction, Fluence, FluenceUtils, PeerConfig}
|
||||
import aqua.keypair.KeyPairShow.show
|
||||
import aqua.run.RunCommand.createKeyPair
|
||||
import cats.data.ValidatedNec
|
||||
import cats.data.Validated.{invalidNec, validNec}
|
||||
import cats.effect.{Resource, Sync}
|
||||
import cats.data.ValidatedNec
|
||||
import cats.effect.kernel.Async
|
||||
import cats.effect.{Resource, Sync}
|
||||
import cats.syntax.applicative.*
|
||||
import cats.syntax.flatMap.*
|
||||
import cats.syntax.show.*
|
||||
|
||||
import scala.concurrent.{ExecutionContext, Future, Promise, TimeoutException}
|
||||
import scala.scalajs.js.JSON
|
||||
import scala.scalajs.js.timers
|
||||
import scala.scalajs.js.{timers, JSON}
|
||||
|
||||
object FuncCaller {
|
||||
|
||||
@ -49,11 +50,14 @@ object FuncCaller {
|
||||
config.common.multiaddr,
|
||||
config.common.timeout.getOrElse(scalajs.js.undefined),
|
||||
LogLevelTransformer.logLevelToAvm(config.common.logLevel),
|
||||
keyPair.orNull
|
||||
keyPair
|
||||
)
|
||||
)
|
||||
.toFuture
|
||||
_ = OutputPrinter.print("Your peerId: " + peer.getStatus().peerId)
|
||||
_ =
|
||||
if (config.common.showSK) OutputPrinter.print(keyPair.show)
|
||||
else OutputPrinter.print("Your peerId: " + peer.getStatus().peerId)
|
||||
|
||||
// register all services
|
||||
_ = (services ++ config.argumentGetters.values :+ finisherService).map(_.register(peer))
|
||||
callFuture = CallJsFunction.funcCallJs(
|
||||
|
@ -46,11 +46,11 @@ object RunCommand extends Logging {
|
||||
|
||||
def createKeyPair(
|
||||
sk: Option[Array[Byte]]
|
||||
): Future[Option[KeyPair]] = {
|
||||
): Future[KeyPair] = {
|
||||
sk.map { arr =>
|
||||
val typedArr = js.typedarray.Uint8Array.from(arr.map(_.toShort).toJSArray)
|
||||
KeyPair.fromEd25519SK(typedArr).`then`(sk => Some(sk)).toFuture
|
||||
}.getOrElse(Future.successful(None))
|
||||
KeyPair.fromEd25519SK(typedArr).toFuture
|
||||
}.getOrElse(KeyPair.randomEd25519().toFuture)
|
||||
}
|
||||
|
||||
private def findFunction(contexts: Chain[AquaContext], funcName: String): Option[FuncArrow] =
|
||||
|
@ -1,6 +1,14 @@
|
||||
package aqua.run
|
||||
|
||||
import aqua.FluenceOpts.{logLevelOpt, multiaddrOpt, onOpt, printAir, secretKeyOpt, timeoutOpt}
|
||||
import aqua.FluenceOpts.{
|
||||
logLevelOpt,
|
||||
multiaddrOpt,
|
||||
onOpt,
|
||||
printAir,
|
||||
secretKeyOpt,
|
||||
showSKOpt,
|
||||
timeoutOpt
|
||||
}
|
||||
import aqua.builder.{ArgumentGetter, Service}
|
||||
import aqua.AppOpts
|
||||
import com.monovore.decline.Opts
|
||||
@ -16,7 +24,8 @@ case class GeneralRunOptions(
|
||||
multiaddr: String,
|
||||
on: Option[String],
|
||||
printAir: Boolean,
|
||||
secretKey: Option[Array[Byte]]
|
||||
secretKey: Option[Array[Byte]],
|
||||
showSK: Boolean
|
||||
)
|
||||
|
||||
object GeneralRunOptions {
|
||||
@ -28,7 +37,8 @@ object GeneralRunOptions {
|
||||
multiaddrOpt,
|
||||
onOpt,
|
||||
printAir,
|
||||
AppOpts.wrapWithOption(secretKeyOpt)
|
||||
AppOpts.wrapWithOption(secretKeyOpt),
|
||||
showSKOpt
|
||||
)
|
||||
.mapN(GeneralRunOptions.apply)
|
||||
|
||||
@ -39,7 +49,8 @@ object GeneralRunOptions {
|
||||
multiaddrOpt,
|
||||
onOpt,
|
||||
printAir,
|
||||
secretKeyOpt.map(Some.apply)
|
||||
secretKeyOpt.map(Some.apply),
|
||||
showSKOpt
|
||||
)
|
||||
.mapN(GeneralRunOptions.apply)
|
||||
}
|
||||
|
@ -1,32 +1,20 @@
|
||||
package aqua.run
|
||||
|
||||
import aqua.ArgOpts.checkDataGetServices
|
||||
import aqua.builder.{ArgumentGetter, Service}
|
||||
import aqua.files.AquaFilesIO
|
||||
import aqua.model.transform.TransformConfig
|
||||
import aqua.model.{LiteralModel, ValueModel, VarModel}
|
||||
import aqua.parser.expr.func.CallArrowExpr
|
||||
import aqua.parser.lexer.{LiteralToken, VarToken}
|
||||
import aqua.parser.lift.LiftParser.Implicits.idLiftParser
|
||||
import aqua.parser.lift.Span
|
||||
import aqua.types.BottomType
|
||||
import aqua.{
|
||||
AppOpts,
|
||||
AquaIO,
|
||||
ArgOpts,
|
||||
CommandBuilder,
|
||||
FileOpts,
|
||||
FluenceOpts,
|
||||
FuncWithData,
|
||||
LogFormatter,
|
||||
RelativePath,
|
||||
RunInfo,
|
||||
SubCommandBuilder
|
||||
}
|
||||
import cats.data.{NonEmptyChain, NonEmptyList, Validated, ValidatedNec, ValidatedNel}
|
||||
import Validated.{invalid, invalidNec, valid, validNec, validNel}
|
||||
import aqua.ArgOpts.checkDataGetServices
|
||||
import aqua.builder.{ArgumentGetter, Service}
|
||||
import aqua.files.AquaFilesIO
|
||||
import aqua.model.transform.TransformConfig
|
||||
import aqua.raw.ConstantRaw
|
||||
import aqua.raw.value.{LiteralRaw, ValueRaw, VarRaw}
|
||||
import aqua.types.BottomType
|
||||
import aqua.*
|
||||
import cats.data.Validated.{invalid, invalidNec, valid, validNec, validNel}
|
||||
import cats.data.*
|
||||
import cats.effect.kernel.Async
|
||||
import cats.effect.{Concurrent, ExitCode, IO}
|
||||
import cats.syntax.applicative.*
|
||||
@ -38,9 +26,9 @@ import com.monovore.decline.{Command, Opts}
|
||||
import fs2.io.file.{Files, Path}
|
||||
import scribe.Logging
|
||||
|
||||
import scala.scalajs.js
|
||||
import java.util.Base64
|
||||
import scala.concurrent.ExecutionContext
|
||||
import scala.scalajs.js
|
||||
import scala.scalajs.js.JSON
|
||||
|
||||
object RunOpts extends Logging {
|
||||
|
@ -5,16 +5,16 @@ import aqua.backend.FunctionDef
|
||||
import aqua.backend.air.FuncAirGen
|
||||
import aqua.builder.{ArgumentGetter, Finisher, ResultPrinter}
|
||||
import aqua.io.OutputPrinter
|
||||
import aqua.model.{FuncArrow, ValueModel, VarModel}
|
||||
import aqua.model.transform.{Transform, TransformConfig}
|
||||
import aqua.model.{FuncArrow, ValueModel, VarModel}
|
||||
import aqua.raw.ops.{Call, CallArrowTag, FuncOp, SeqTag}
|
||||
import aqua.raw.value.{LiteralRaw, ValueRaw, VarRaw}
|
||||
import aqua.types.{ArrowType, BoxType, NilType, ScalarType, Type, UnlabeledConsType}
|
||||
import aqua.types.*
|
||||
import cats.data.{Validated, ValidatedNec}
|
||||
import cats.effect.kernel.Async
|
||||
import cats.syntax.applicative.*
|
||||
import cats.syntax.show.*
|
||||
import cats.syntax.traverse.*
|
||||
import cats.syntax.applicative.*
|
||||
|
||||
import scala.concurrent.ExecutionContext
|
||||
import scala.scalajs.js
|
||||
|
@ -1,36 +1,35 @@
|
||||
package aqua.script
|
||||
|
||||
import aqua.files.{AquaFileSources, AquaFilesIO, FileModuleId}
|
||||
import aqua.io.{AquaFileError, OutputPrinter}
|
||||
import aqua.ipfs.js.IpfsApi
|
||||
import aqua.js.{Config, Fluence, PeerConfig}
|
||||
import aqua.keypair.KeyPairShow.show
|
||||
import aqua.model.{AquaContext, FuncArrow, LiteralModel}
|
||||
import aqua.raw.value.{LiteralRaw, ValueRaw, VarRaw}
|
||||
import aqua.run.RunCommand.createKeyPair
|
||||
import aqua.run.{GeneralRunOptions, RunCommand, RunConfig, RunOpts}
|
||||
import aqua.*
|
||||
import aqua.run.RunOpts.logger
|
||||
import aqua.types.{ArrowType, LiteralType, NilType, ScalarType}
|
||||
import aqua.ArgOpts.{dataFileOrStringOpt, funcOpt, funcWithArgsOpt}
|
||||
import aqua.backend.Generated
|
||||
import aqua.backend.air.{AirBackend, AirGen, FuncAirGen}
|
||||
import aqua.builder.ArgumentGetter
|
||||
import aqua.compiler.AquaCompiler
|
||||
import aqua.files.{AquaFileSources, AquaFilesIO, FileModuleId}
|
||||
import aqua.io.{AquaFileError, OutputPrinter}
|
||||
import aqua.ipfs.js.IpfsApi
|
||||
import aqua.js.{Config, Fluence, PeerConfig}
|
||||
import aqua.keypair.KeyPairShow.show
|
||||
import aqua.model.transform.{Transform, TransformConfig}
|
||||
import aqua.model.{AquaContext, FuncArrow, LiteralModel}
|
||||
import aqua.parser.lift.FileSpan
|
||||
import aqua.raw.ops.{Call, CallArrowTag}
|
||||
import aqua.raw.value.{LiteralRaw, ValueRaw, VarRaw}
|
||||
import aqua.res.{AquaRes, FuncRes}
|
||||
import cats.data.Validated.{invalid, invalidNec, valid, validNec, validNel}
|
||||
import aqua.run.RunOpts.logger
|
||||
import aqua.run.{GeneralRunOptions, RunCommand, RunConfig, RunOpts}
|
||||
import aqua.types.{ArrowType, LiteralType, NilType, ScalarType}
|
||||
import cats.data.*
|
||||
import cats.data.Validated.{invalid, invalidNec, valid, validNec, validNel}
|
||||
import cats.effect.kernel.{Async, Clock}
|
||||
import cats.effect.{Concurrent, ExitCode, Resource, Sync}
|
||||
import cats.syntax.applicative.*
|
||||
import cats.syntax.apply.*
|
||||
import cats.syntax.traverse.*
|
||||
import cats.syntax.flatMap.*
|
||||
import cats.syntax.functor.*
|
||||
import cats.syntax.show.*
|
||||
import cats.syntax.traverse.*
|
||||
import cats.{Applicative, Monad}
|
||||
import com.monovore.decline.{Command, Opts}
|
||||
import fs2.io.file.{Files, Path}
|
||||
|
@ -22,6 +22,12 @@ object FluenceOpts {
|
||||
.option[String]("on", "Where function will be run. Default: host_peer_id", "o")
|
||||
)
|
||||
|
||||
val showSKOpt: Opts[Boolean] =
|
||||
Opts
|
||||
.flag("show-sk", "Show your secret key")
|
||||
.map(_ => true)
|
||||
.withDefault(false)
|
||||
|
||||
val secretKeyOpt: Opts[Array[Byte]] =
|
||||
Opts
|
||||
.option[String]("sk", "Ed25519 32-byte secret key in base64", "s")
|
||||
|
@ -2,19 +2,13 @@ package aqua.model.transform
|
||||
|
||||
import aqua.model.inline.ArrowInliner
|
||||
import aqua.model.inline.state.InliningState
|
||||
import aqua.model.{AquaContext, CallModel, FuncArrow, OpModel, VarModel}
|
||||
import aqua.raw.value.VarRaw
|
||||
import aqua.model.transform.funcop.*
|
||||
import aqua.model.transform.pre.{
|
||||
ArgsFromService,
|
||||
ArgsProvider,
|
||||
FuncPreTransformer,
|
||||
InitPeerCallable,
|
||||
InitViaRelayCallable
|
||||
}
|
||||
import aqua.model.transform.pre.*
|
||||
import aqua.model.transform.topology.Topology
|
||||
import aqua.model.*
|
||||
import aqua.raw.ops.RawTag
|
||||
import aqua.res.{AquaRes, FuncRes, NoAir, ResolvedOp, ServiceRes}
|
||||
import aqua.raw.value.VarRaw
|
||||
import aqua.res.*
|
||||
import aqua.types.ScalarType
|
||||
import cats.Eval
|
||||
import cats.data.Chain
|
||||
|
Loading…
x
Reference in New Issue
Block a user