From 00a3c039e65a7d490af618dd2b4b558e720fa84c Mon Sep 17 00:00:00 2001 From: Geoff Lee Date: Mon, 28 Oct 2024 13:13:52 +0900 Subject: [PATCH] feat(launch): use wasm binaries in embed fs instead of local one (#73) * use embed fs instead of local one * remove unnecessary comments * format --- cmd/minitiad/launch.go | 12 +++++++++--- contrib/embed.go | 13 +++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 contrib/embed.go diff --git a/cmd/minitiad/launch.go b/cmd/minitiad/launch.go index 6e20833..7c5bd81 100644 --- a/cmd/minitiad/launch.go +++ b/cmd/minitiad/launch.go @@ -2,16 +2,21 @@ package main import ( "encoding/json" - "os" wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" + "github.com/initia-labs/OPinit/contrib/launchtools" "github.com/initia-labs/OPinit/contrib/launchtools/steps" + "github.com/initia-labs/initia/app/params" minitiaapp "github.com/initia-labs/miniwasm/app" + + "github.com/initia-labs/miniwasm/contrib" + "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -69,13 +74,14 @@ func LaunchCommand(ac *appCreator, enc params.EncodingConfig, mbm module.BasicMa func StoreAndInstantiateNFTContracts(input *launchtools.Config) launchtools.LauncherStepFunc { return func(ctx launchtools.Launcher) error { ctx.Logger().Info("Storing and instantiating cw721 and ics721 contracts") + fs := contrib.FS() - cw721, err := os.ReadFile("contrib/wasm/cw721_base.wasm") + cw721, err := fs.ReadFile("wasm/cw721_base.wasm") if err != nil { return errors.Wrapf(err, "failed to read cw721_base.wasm") } - ics721, err := os.ReadFile("contrib/wasm/ics721_base.wasm") + ics721, err := fs.ReadFile("wasm/ics721_base.wasm") if err != nil { return errors.Wrapf(err, "failed to read ics721_base.wasm") } diff --git a/contrib/embed.go b/contrib/embed.go new file mode 100644 index 0000000..12a07b3 --- /dev/null +++ b/contrib/embed.go @@ -0,0 +1,13 @@ +package contrib + +import ( + "embed" +) + +//go:embed wasm/* +var fs embed.FS + +// FS returns the embedded filesystem for the contrib package. +func FS() embed.FS { + return fs +}