Code Monkey home page Code Monkey logo

celatone-frontend's People

Contributors

bkioshn avatar evilpeach avatar james0126 avatar jennieramida avatar llllllluc avatar poafs1 avatar poomthiti avatar songwongtp avatar sunzsolo avatar tansawit avatar traviolus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

celatone-frontend's Issues

[Feature] Try to parse coins in coin_received, spent, transfer events

It would be a nice to have, if instead of 1130000ibc/5751B8BCDA688FD0A8EC0B292EEF1CDEAB4B766B63EC632778B196D317C40C3A,24656ibc/F082B65C88E4B6D5EF1DB243CDA1D331D002759E938A0F5CD3FFDC5D53B3E349

it would show like

1.13 (usdc icon), ...
with copy possibility.

  • Subfeature 1: Show all denoms / tokens + mapping + decimals on a separate page, as this is always very complex when building things around tokens.

image

[Feature] Allow a user toggle to disable animations

I know animations are cool and useful for making an app look more awesome.
But for a poweruser this is wasting time. Please add a toggle for users to disable all animations on celatone

Biggest issue I am having is the Change contract animation:

  • Subfeature 1: Auto select the contract field, so you just need to hit paste for the contract
  • Subfeature 2: After pasting, hitting enter should use submit and close the dialog
slow.animation.mp4

For this page I would further improve UX in the following ways:

  • Subfeature 3: Allow change of contract address within the same GUI, without needing to have a separate input.
  • Subfeature 4: Allow changing to any saved contract directly in the same GUI (maybe both in the same input)

[Feature] Allow contract specific saved templates

Generally when interacting with contracts, often you require the same message again and again, so there should be a way to save query / execute msgs as named "templates" that can be loaded.

  • Subfeature 1: Keep the last query / execute msg used on a contract in the local storage, so when navigating to a contract it is still there what the user has been working on. If there is some worry about local storage size -> use flag to activate.

Somewhere add some selection, or ideally show "templates", similar to the "Message Suggestions", maybe Template Suggestions, and a small (plus)
image

[Feature] Contract Tagging

Reasoning about what happens exactly in the Event Logs is difficult if you dont know what an address or wallet is.

There should be 2 or 3 ways of tagging.

  1. Global tagging managed by celatone / community that will be default for everyone. (Simple submission of wallet tags is necessary to make the experience smooth, ideally through the page)
  2. User tagging - Users should be able to tag their own addresses and to be better to reason about it.
  3. Optional: Index the labels of the contract instantiations and use them as default tag shown in the events log / guis. This should be able to be set based on a user setting, as it could also have some misleading / bad data on instantiations.

If a tag available instead of the full address, just show: {TAG} (neutron1...mkd2)

image

[Feature] Query Switch between JSON and parsed output

For queries currently always JSON is shown. It would be nice if you can also display some parsed output. Same for Contract Info and Instantiate Message

image

image

This is what I understand under parsed output:
Having links, ideally resolved coins etc.
image

"Invalid funds" issue

(i couldnt find the place where i can post my issue, so i do here)
When i try to execute contract function "mint_native" using prebuilt code snippet on sei testnet(seiscan app explorer), i get "invalid funds" error. Im not really into cosmos ecosystem, but im pretty sure its related to "attached funds" section in transaction details page.
my addr: sei1pds9v27aavj56ldy04jp8m22wwjvkkf9s9tnh6
Succeded tx example(Executed on mintpage using keplr wallet) : 5987DD311CA5A0D1458C8091D6999F7B2B2DF72B1A7F4E5248AA0A2A322AA2F5 (hash)
Failed tx example : 0C05C265D3794C617B905F90AE92FFC2C26E8007C95281DFD8C4977049D6169F (hash)

Error message: "Query failed with (6): rpc error: code = Unknown desc = failed to execute message; message index: 0: Invalid Funds: execute wasm contract failed [sei-protocol/[email protected]/x/wasm/keeper/keeper.go:364] With gas wanted: '10000000' and gas used: '130019' : unknown request"

code snippet i used:

const { GasPrice } = require("@cosmjs/stargate");
const { SigningCosmWasmClient } = require("@cosmjs/cosmwasm-stargate");
const { getOfflineSignerAmino } = require("cosmjs-utils");
const { chains } = require("chain-registry");

// TODO: Replace with your mnemonic (not recommended for production use)
const mnemonic =
  "<MNEMONIC>";
const chain = chains.find(({ chain_name }) => chain_name === 'seitestnet2');
const contractAddress =
  'sei1355u0d5np4aphkysqvlr6ca43gcdlqn2cmxysw24lrjz0zxjrufsfp6vhp';

const execute = async () => {
  const rpcEndpoint = 'https://rpc.atlantic-2.seinetwork.io';
  const signer = await getOfflineSignerAmino({ mnemonic, chain });
  const client = await SigningCosmWasmClient.connectWithSigner(
    rpcEndpoint,
    signer,
    {
      gasPrice: GasPrice.fromString("0.025usei"),
    }
  );

  const [sender] = await signer.getAccounts();
  const fee = "auto";

  const tx = await client.execute(
    sender.address,
    contractAddress,
    {
  "mint_native": {
    "collection": "sei1ce9ae3et2aqajaklh4ethmmw25e449hhtnx7ghnxquxxkudekq0se54e0n",
    "group": "Public",
    "recipient": "sei1pds9v27aavj56ldy04jp8m22wwjvkkf9s9tnh6",
    "merkle_proof": null,
    "hashed_address": null
  }
},
    fee
  );

  console.log(tx.transactionHash);
};

execute();
;

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.