MCPcopy Create free account
hub / github.com/Sifchain/sifnode / GetCmdAddAllEntries

Function GetCmdAddAllEntries

x/tokenregistry/client/cli/query.go:276–326  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

274}
275
276func GetCmdAddAllEntries() *cobra.Command {
277 cmd := &cobra.Command{
278 Use: "add-all [registry.json]",
279 Short: "",
280 Args: cobra.ExactArgs(1),
281 RunE: func(cmd *cobra.Command, args []string) error {
282 clientCtx, err := client.GetClientQueryContext(cmd)
283 if err != nil {
284 return err
285 }
286 registry, err := whitelistutils.ParseDenoms(clientCtx.Codec, args[0])
287 if err != nil {
288 return err
289 }
290 finalRegistry := types.Registry{Entries: []*types.RegistryEntry{}}
291 for _, entry := range registry.Entries {
292 entryForConversion := entry
293 finalRegistry.Entries = append(finalRegistry.Entries, entryForConversion)
294 if entry.Decimals > 10 {
295 conversionDenom := ""
296 if strings.HasPrefix(entry.Denom, "c") {
297 conversionDenom = "x" + strings.TrimPrefix(entry.Denom, "c")
298 } else if types.StringCompare(entry.Denom, "rowan") {
299 conversionDenom = "xrowan"
300 }
301 entryForConversion.IbcCounterpartyDenom = conversionDenom
302 entryForConversion.Permissions = []types.Permission{
303 types.Permission_CLP,
304 types.Permission_IBCEXPORT,
305 }
306 finalRegistry.Entries = append(finalRegistry.Entries, &types.RegistryEntry{
307 Denom: conversionDenom,
308 BaseDenom: conversionDenom,
309 Decimals: 10,
310 UnitDenom: entry.Denom,
311 Permissions: []types.Permission{types.Permission_IBCIMPORT},
312 })
313 } else {
314 entryForConversion.Permissions = []types.Permission{
315 types.Permission_CLP,
316 types.Permission_IBCEXPORT,
317 types.Permission_IBCIMPORT,
318 }
319 }
320 }
321 return clientCtx.PrintBytes(clientCtx.Codec.MustMarshalJSON(&finalRegistry))
322 },
323 }
324 flags.AddQueryFlagsToCmd(cmd)
325 return cmd
326}

Callers 1

GetQueryCmdFunction · 0.85

Calls 1

StringCompareFunction · 0.92

Tested by

no test coverage detected