Some checks are pending
Build SimApp / build (amd64) (push) Waiting to run
Build SimApp / build (arm64) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Build & Push / build (push) Waiting to run
Run Gosec / Gosec (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Checks dependencies and mocks generation / Check go mod tidy (push) Waiting to run
Checks dependencies and mocks generation / Check up to date mocks (push) Waiting to run
System Tests / setup (push) Waiting to run
System Tests / test-system (push) Blocked by required conditions
System Tests / test-system-legacy (push) Blocked by required conditions
Tests / Code Coverage / split-test-files (push) Waiting to run
Tests / Code Coverage / tests (00) (push) Blocked by required conditions
Tests / Code Coverage / tests (01) (push) Blocked by required conditions
Tests / Code Coverage / tests (02) (push) Blocked by required conditions
Tests / Code Coverage / tests (03) (push) Blocked by required conditions
Tests / Code Coverage / test-integration (push) Waiting to run
Tests / Code Coverage / test-e2e (push) Waiting to run
Tests / Code Coverage / repo-analysis (push) Blocked by required conditions
Tests / Code Coverage / test-sim-nondeterminism (push) Waiting to run
Tests / Code Coverage / test-clientv2 (push) Waiting to run
Tests / Code Coverage / test-core (push) Waiting to run
Tests / Code Coverage / test-depinject (push) Waiting to run
Tests / Code Coverage / test-errors (push) Waiting to run
Tests / Code Coverage / test-math (push) Waiting to run
Tests / Code Coverage / test-schema (push) Waiting to run
Tests / Code Coverage / test-collections (push) Waiting to run
Tests / Code Coverage / test-cosmovisor (push) Waiting to run
Tests / Code Coverage / test-confix (push) Waiting to run
Tests / Code Coverage / test-store (push) Waiting to run
Tests / Code Coverage / test-log (push) Waiting to run
Tests / Code Coverage / test-x-tx (push) Waiting to run
Tests / Code Coverage / test-x-nft (push) Waiting to run
Tests / Code Coverage / test-x-circuit (push) Waiting to run
Tests / Code Coverage / test-x-feegrant (push) Waiting to run
Tests / Code Coverage / test-x-evidence (push) Waiting to run
Tests / Code Coverage / test-x-upgrade (push) Waiting to run
Tests / Code Coverage / test-tools-benchmark (push) Waiting to run
41 lines
1.3 KiB
Go
41 lines
1.3 KiB
Go
package keys
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
|
|
"git.cw.tr/mukan-network/mukan-sdk/client"
|
|
)
|
|
|
|
// MigrateCommand migrates key information from legacy keybase to OS secret store.
|
|
func MigrateCommand() *cobra.Command {
|
|
cmd := &cobra.Command{
|
|
Use: "migrate",
|
|
Short: "Migrate keys from amino to proto serialization format",
|
|
Long: `Migrate keys from Amino to Protocol Buffers records.
|
|
For each key material entry, the command will check if the key can be deserialized using proto.
|
|
If this is the case, the key is already migrated. Therefore, we skip it and continue with a next one.
|
|
Otherwise, we try to deserialize it using Amino into LegacyInfo. If this attempt is successful, we serialize
|
|
LegacyInfo to Protobuf serialization format and overwrite the keyring entry. If any error occurred, it will be
|
|
outputted in CLI and migration will be continued until all keys in the keyring DB are exhausted.
|
|
See https://git.cw.tr/mukan-network/mukan-sdk/pull/9695 for more details.
|
|
`,
|
|
Args: cobra.NoArgs,
|
|
RunE: runMigrateCmd,
|
|
}
|
|
|
|
return cmd
|
|
}
|
|
|
|
func runMigrateCmd(cmd *cobra.Command, _ []string) error {
|
|
clientCtx, err := client.GetClientQueryContext(cmd)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if _, err = clientCtx.Keyring.MigrateAll(); err != nil {
|
|
return err
|
|
}
|
|
|
|
cmd.Println("Keys migration has been successfully executed.")
|
|
return nil
|
|
}
|