Giter Club home page Giter Club logo

gear-js's People

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  avatar  avatar

Watchers

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

gear-js's Issues

Delete update button

File Location(s)

No response

Proposal

Need to delete this button. It doesn't make sense
Screenshot 2021-10-21 at 12 39 10

Add thousand separator for gas inputs

Problem to Solve

Now it is very inconvenient to specify a large amount of gas because of the large number of numeric digits (like 1000000000)

Possible Solution

Provide the possibility to introduce gas amount like 1_000_000_000

Notes

No response

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Warning

These dependencies are deprecated:

Datasource Name Replacement PR?
npm @storybook/testing-library Unavailable
npm @subsquid/archive-registry Unavailable
npm @types/cron Unavailable
npm rollup-plugin-terser Available

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps): update api (@polkadot/api, ts-jest, typescript)
  • chore(deps): update dependency typescript to v5.5.2
  • fix(deps): update backend (@babel/plugin-transform-typescript, @babel/preset-env, @babel/preset-typescript, @gear-js/api, @polkadot/api, @polkadot/types, @subsquid/archive-registry, @subsquid/graphql-server, @subsquid/ss58, @subsquid/substrate-metadata-explorer, @subsquid/substrate-processor, @subsquid/substrate-runtime, @subsquid/substrate-typegen, @subsquid/typeorm-codegen, @subsquid/typeorm-migration, @subsquid/typeorm-store, @types/amqplib, @types/cron, @types/express, @types/jest, @types/node, @types/nodemon, amqplib, cron, dotenv, eslint-config-prettier, express, jest, nanoid, node, node-fetch, nodemon, pg, prettier, redis, rxjs, supertest, ts-jest, ts-node, ts-node-dev, tsconfig-paths, typeorm, typescript, winston)
  • fix(deps): update dependency @gear-js/api to v0.38.1
  • fix(deps): update dependency @polkadot/api to v9.14.2
  • fix(deps): update dependency chalk to v5.3.0
  • fix(deps): update dependency commander to v9.5.0
  • fix(deps): update dependency pg to v8.12.0
  • fix(deps): update tools (@gear-js/api, @polkadot/api, @substrate/txwrapper-core, @substrate/txwrapper-dev, @types/node, chalk, inquirer, ts-jest, ts-node, typescript, winston, yaml, yarn)
  • chore(deps): update api (major) (@polkadot/api, @polkadot/typegen, @polkadot/types, @polkadot/types-codec, @rollup/plugin-commonjs, @typescript-eslint/parser, eslint, rollup)
  • chore(deps): update dependency jest to v29
  • chore(deps): update dependency node to v20
  • chore(deps): update frontend (major) (@rollup/plugin-commonjs, @rollup/plugin-node-resolve, @rollup/plugin-typescript, @storybook/addon-essentials, @storybook/addon-interactions, @storybook/addon-links, @storybook/addon-onboarding, @storybook/blocks, @storybook/react, @storybook/react-vite, @substrate/connect, @svgr/rollup, @testing-library/jest-dom, @testing-library/react, @types/jest, @typescript-eslint/eslint-plugin, @typescript-eslint/parser, clsx, eslint, rollup, rollup-plugin-dts, storybook, vite, vite-plugin-svgr)
  • chore(deps): update postgres docker tag to v16
  • chore(deps): update redis docker tag to v7
  • chore(deps): update repo (major) (@typescript-eslint/eslint-plugin, @typescript-eslint/parser, eslint, husky, yarn)
  • chore(deps): update yarn to v4
  • fix(deps): update backend (major) (@subsquid/substrate-runtime, @subsquid/typeorm-codegen, @types/jest, @types/node, @typescript-eslint/eslint-plugin, @typescript-eslint/parser, babel-jest, chalk, cron, dotenv, eslint, eslint-config-prettier, eslint-plugin-prettier, nanoid, node-fetch, nodemon, postgres, prettier, rimraf, supertest, ts-jest, ts-loader, tsconfig-paths, typescript)
  • fix(deps): update dependency @polkadot/api to v11.3.1
  • fix(deps): update dependency commander to v12
  • fix(deps): update dependency inquirer to v9
  • fix(deps): update tools (major) (@polkadot/api, chalk, commander, node-fetch, yarn)
  • 🔐 Create all rate-limited PRs at once 🔐

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

  • chore(deps): update frontend (@babel/core, @babel/preset-env, @babel/preset-react, @babel/preset-typescript, @hcaptcha/react-hcaptcha, @hookform/resolvers, @polkadot/api, @polkadot/api-derive, @polkadot/extension-dapp, @polkadot/extension-inject, @polkadot/react-identicon, @polkadot/types, @react-aria/utils, @rollup/plugin-commonjs, @rollup/plugin-image, @rollup/plugin-typescript, @storybook/addon-essentials, @storybook/addon-interactions, @storybook/addon-links, @storybook/blocks, @storybook/react, @storybook/react-vite, @substrate/connect, @tanstack/react-query, @testing-library/jest-dom, @testing-library/react, @types/lodash.isequal, @types/lodash.isplainobject, @types/lodash.isstring, @types/lodash.throttle, @types/node, @types/react, @types/react-dom, @types/react-transition-group, @typescript-eslint/eslint-plugin, @typescript-eslint/parser, @vitejs/plugin-react, babel-jest, clsx, eslint, eslint-config-prettier, eslint-plugin-import, eslint-plugin-jsx-a11y, eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-react-refresh, jest, jest-environment-jsdom, ky, nanoid, react, react-dom, react-error-boundary, react-hook-form, react-number-format, react-router-dom, rollup, rollup-plugin-dts, rollup-plugin-terser, sass, simplebar-react, storybook, tslib, typescript, vite, vite-plugin-checker, vite-plugin-dts, vite-plugin-node-polyfills, vite-plugin-svgr, yup, zod)
  • chore(deps): update postgres docker tag to v14.12
  • chore(deps): update rabbitmq docker tag to v3.13
  • chore(deps): update repo (@typescript-eslint/eslint-plugin, @typescript-eslint/parser, lint-staged, yarn)
  • chore(deps): update yarn to v3.8.3
  • Click on this checkbox to rebase all open PRs at once

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

cargo
api/programs/empty/Cargo.toml
api/programs/test-gas/Cargo.toml
  • scale-info 2.11.0
  • codec 3.6.9
api/programs/test-gas/io/Cargo.toml
  • scale-info 2.11.0
  • codec 3.6.9
api/programs/test-meta/Cargo.toml
  • scale-info 2.11.0
  • codec 3.6.9
api/programs/test-meta/io/Cargo.toml
  • scale-info 2.11.0
  • codec 3.6.9
  • primitive-types 0.12.2
api/programs/test-meta/state-v1/Cargo.toml
api/programs/test-meta/state-v2/Cargo.toml
api/programs/test-waitlist/Cargo.toml
  • scale-info 2.11.0
  • codec 3.6.9
idea/tests/programs/Cargo.toml
  • gstd 1.4.1
  • gwasm-builder 1.4.1
idea/tests/programs/ping-sails/app/Cargo.toml
idea/tests/programs/ping-sails/wasm/Cargo.toml
docker-compose
docker-compose.yml
  • redis 6.2.14-alpine
  • postgres 14.5
  • rabbitmq 3.11
  • ghcr.io/gear-tech/node 0.1.0-05339e21
npm
api/examples/package.json
  • @polkadot/api 10.13.1
  • dotenv ^16.0.0
  • rxjs ^7.5.5
  • ts-node ^10.4.0
api/package.json
  • @babel/plugin-transform-typescript 7.24.7
  • @babel/preset-env 7.24.7
  • @babel/preset-typescript 7.24.7
  • @polkadot/api 10.13.1
  • @polkadot/typegen 10.13.1
  • @polkadot/types 10.13.1
  • @polkadot/types-codec 10.13.1
  • @polkadot/wasm-crypto 7.3.2
  • @rollup/plugin-commonjs 25.0.8
  • @rollup/plugin-json 6.1.0
  • @rollup/plugin-node-resolve 15.2.3
  • @rollup/plugin-typescript 11.1.6
  • @types/jest 29.5.12
  • @types/rollup-plugin-peer-deps-external 2.2.5
  • @typescript-eslint/parser 5.62.0
  • babel-cli 6.26.0
  • babel-core 6.26.3
  • babel-jest 29.7.0
  • eslint 8.57.0
  • jest 29.7.0
  • rollup 3.29.4
  • rollup-plugin-peer-deps-external 2.2.4
  • rollup-plugin-typescript2 0.36.0
  • rxjs 7.8.1
  • ts-jest 29.1.4
  • ts-node 10.9.2
  • typescript 5.4.5
  • @polkadot/api 11.2.1
  • @polkadot/wasm-crypto 7.3.2
  • rxjs 7.8.1
idea/api-gateway/package.json
  • @types/amqplib ^0.8.2
  • @types/cron 2.0.0
  • amqplib ^0.10.3
  • cron 2.1.0
  • dotenv 16.0.1
  • express 4.18.1
  • hcaptcha 0.1.1
  • nanoid 3.3.4
  • redis ^4.6.8
  • rimraf 3.0.2
  • @types/express 4.17.13
  • @types/jest 26.0.24
  • @types/node 14.18.24
  • @types/nodemon 1.19.2
  • @typescript-eslint/eslint-plugin 4.33.0
  • @typescript-eslint/parser 4.33.0
  • eslint 7.32.0
  • eslint-config-prettier 8.5.0
  • eslint-plugin-prettier 3.4.1
  • nodemon 2.0.19
  • prettier 2.7.1
  • supertest 6.2.4
  • ts-jest 26.5.6
  • ts-loader 8.4.0
  • ts-node 10.9.1
  • ts-node-dev 2.0.0
  • tsconfig-paths 3.14.1
  • typescript 4.7.4
idea/common/package.json
  • @gear-js/api 0.38.1
  • @polkadot/api 11.0.2
  • winston 3.7.2
  • typescript 4.7.4
idea/frontend/package.json
  • @gear-js/api 0.38.1
  • @hcaptcha/react-hcaptcha 1.8.1
  • @hookform/resolvers 3.3.2
  • @polkadot/api 11.0.2
  • @polkadot/extension-dapp 0.46.5
  • @polkadot/react-identicon 3.6.3
  • @polkadot/types 11.0.2
  • @polkadot/util 12.6.2
  • @react-aria/utils 3.21.0
  • @tanstack/react-query 5.29.0
  • bignumber.js 9.1.2
  • clsx 2.0.0
  • ky 1.0.1
  • localforage 1.10.0
  • lodash.isequal 4.5.0
  • lodash.isplainobject 4.0.6
  • lodash.isstring 4.0.1
  • lodash.throttle 4.1.1
  • react 18.2.0
  • react-dnd 16.0.1
  • react-dnd-html5-backend 16.0.1
  • react-dom 18.2.0
  • react-error-boundary 4.0.11
  • react-gtm-module 2.0.11
  • react-hook-form 7.48.2
  • react-number-format 5.3.1
  • react-router-dom 6.16.0
  • react-transition-group 4.4.5
  • simplebar-react 3.2.4
  • yup 1.3.2
  • zod 3.22.4
  • @types/lodash.isequal 4.5.6
  • @types/lodash.isplainobject 4.0.7
  • @types/lodash.isstring 4.0.7
  • @types/lodash.throttle 4.1.7
  • @types/node 20.8.4
  • @types/react 18.2.36
  • @types/react-dom 18.2.14
  • @types/react-gtm-module 2.0.3
  • @types/react-transition-group 4.4.7
  • @typescript-eslint/eslint-plugin 6.7.5
  • @typescript-eslint/parser 6.7.5
  • @vitejs/plugin-react 4.1.0
  • eslint 8.51.0
  • eslint-config-prettier 9.0.0
  • eslint-import-resolver-typescript 3.6.1
  • eslint-plugin-import 2.28.1
  • eslint-plugin-jsx-a11y 6.7.1
  • eslint-plugin-react 7.33.2
  • eslint-plugin-react-hooks 4.6.0
  • eslint-plugin-react-refresh 0.4.3
  • sass 1.69.1
  • typescript 5.2.2
  • vite 4.4.11
  • vite-plugin-checker 0.6.2
  • vite-plugin-node-polyfills 0.15.0
  • vite-plugin-svgr 4.1.0
idea/indexer/package.json
  • @gear-js/api ^0.38.1
  • @polkadot/api 11.0.2
  • amqplib 0.10.3
  • class-transformer 0.5.1
  • cron ^3.1.6
  • pg 8.10.0
  • rxjs 7.8.0
  • typeorm 0.3.17
  • winston 3.8.2
  • @polkadot/types 11.0.2
  • @types/amqplib 0.10.1
  • @types/node 18.15.11
  • jest 29.5.0
  • prettier 2.8.7
  • ts-jest 29.0.5
  • ts-node-dev 2.0.0
  • typescript 5.0.2
idea/meta-storage/package.json
  • @gear-js/api 0.38.1
  • @polkadot/api 11.0.2
  • amqplib 0.10.3
  • dotenv ^16.3.1
  • pg 8.10.0
  • typeorm ^0.3.17
  • ts-node-dev ^2.0.0
  • typescript ^5.1.6
  • yarn 3.3.0
idea/test-balance/package.json
  • @gear-js/api 0.38.1
  • @polkadot/api 11.0.2
  • @types/amqplib 0.8.2
  • amqplib 0.10.3
  • chalk 4.1.2
  • class-transformer 0.5.1
  • cron ^3.1.6
  • express 4.18.1
  • nodemon 2.0.16
  • pg 8.7.1
  • postgres 1.0.2
  • typeorm 0.3.9
  • winston 3.3.3
  • @types/express 4.17.13
  • @typescript-eslint/eslint-plugin 4.33.0
  • @typescript-eslint/parser 4.33.0
  • dotenv 10.0.0
  • eslint 7.32.0
  • eslint-config-prettier 8.5.0
  • eslint-plugin-prettier 3.4.1
  • ts-node-dev 2.0.0
  • typescript 4.7.4
idea/tests/package.json
  • @babel/plugin-transform-typescript 7.20.2
  • @babel/preset-env 7.20.2
  • @babel/preset-typescript 7.18.6
  • @gear-js/api 0.38.1
  • @polkadot/api 11.0.2
  • babel-jest 28.1.3
  • dotenv 16.0.3
  • jest ^29.1.2
  • node-fetch 2.6.7
  • ts-jest 29.1.1
  • ts-node 10.9.1
  • @types/jest 29.2.3
  • typescript 4.9.3
idea/voucher-indexer/package.json
  • @subsquid/archive-registry ^3.3.0
  • @subsquid/graphql-server ^4.5.0
  • @subsquid/ss58 ^2.0.2
  • @subsquid/substrate-processor ^8.1.1
  • @subsquid/substrate-runtime ^1.0.3
  • @subsquid/typeorm-migration ^1.3.0
  • @subsquid/typeorm-store ^1.2.6
  • dotenv ^16.4.4
  • express ^4.19.1
  • pg 8.11.3
  • ts-node ^10.9.2
  • typeorm ^0.3.20
  • @subsquid/substrate-metadata-explorer ^3.1.2
  • @subsquid/substrate-typegen ^8.0.2
  • @subsquid/typeorm-codegen ^1.3.3
  • @types/express ^4.17.21
  • @types/node ^20.11.17
  • ts-node-dev ^2.0.0
  • typescript ^5.3.3
  • node >=16
package.json
  • @typescript-eslint/eslint-plugin 5.57.1
  • @typescript-eslint/parser 5.57.1
  • eslint 8.57.0
  • husky 8.0.3
  • lint-staged 15.0.2
  • yarn 3.3.0
tools/cli/package.json
  • @gear-js/api 0.32.1
  • @polkadot/api 10.9.1
  • chalk 4
  • commander 10.0.1
  • inquirer 9.2.6
  • winston 3.8.2
  • yaml 2.3.0
  • @types/node 20.2.4
  • ts-node 10.9.1
  • typescript 5.0.4
tools/txwrapper/package.json
  • @substrate/txwrapper-core 7.4.0
  • @polkadot/api 11.1.1
  • @substrate/txwrapper-dev 7.4.0
  • @types/jest 29.5.12
  • @types/node-fetch 2.6.11
  • babel-jest 29.7.0
  • jest 29.7.0
  • node-fetch 2.7.0
  • ts-jest 29.1.3
  • ts-node 10.9.2
  • typescript 5.4.5
  • yarn 3.3.0
utils/gear-hooks/package.json
  • @polkadot/api-derive 11.0.2
  • @polkadot/extension-inject 0.46.5
  • @polkadot/util 12.6.2
  • @substrate/connect 0.8.10
  • bignumber.js 9.1.2
  • nanoid 5.0.1
  • react-transition-group 4.4.5
  • @gear-js/api 0.38.1
  • @polkadot/api 11.0.2
  • @polkadot/extension-dapp 0.46.5
  • @polkadot/types 11.0.2
  • @rollup/plugin-commonjs 25.0.5
  • @rollup/plugin-node-resolve 15.2.3
  • @types/react 18.2.28
  • @types/react-dom 18.2.13
  • @types/react-transition-group 4.4.7
  • react 18.2.0
  • react-dom 18.2.0
  • rollup 4.0.2
  • rollup-plugin-peer-deps-external 2.2.4
  • rollup-plugin-terser 7.0.2
  • rollup-plugin-typescript2 0.36.0
  • typescript 5.2.2
  • @gear-js/api 0.38.1
  • @polkadot/api 11.0.2
  • @polkadot/extension-dapp 0.46.5
  • react 18.2.0
  • react-dom 18.2.0
utils/gear-ui/package.json
  • @babel/core 7.18.13
  • @babel/preset-env 7.18.10
  • @babel/preset-react 7.18.6
  • @babel/preset-typescript 7.18.6
  • @rollup/plugin-commonjs 21.1.0
  • @rollup/plugin-image 3.0.1
  • @rollup/plugin-node-resolve 13.3.0
  • @rollup/plugin-typescript 8.3.3
  • @svgr/rollup 6.5.1
  • @testing-library/jest-dom 5.16.5
  • @testing-library/react 13.3.0
  • @types/jest 28.1.8
  • @types/react 18.2.36
  • @types/react-dom 18.2.14
  • babel-jest 29.0.1
  • clsx 1.2.1
  • identity-obj-proxy 3.0.0
  • jest 29.0.1
  • jest-environment-jsdom 29.0.1
  • rollup 2.78.1
  • rollup-plugin-dts 4.2.2
  • rollup-plugin-peer-deps-external 2.2.4
  • rollup-plugin-postcss 4.0.2
  • rollup-plugin-terser 7.0.2
  • tslib 2.4.0
  • typescript 5.2.2
  • react 18.2.0
  • react-dom 18.2.0
  • sass 1.69.1
utils/meta-cli/package.json
  • @gear-js/api 0.27.7
  • @polkadot/api 9.9.1
  • chalk 5.0.1
  • commander 9.3.0
  • inquirer 8.2.4
  • jest 27.5.1
utils/vara-ui/package.json
  • @storybook/addon-essentials 7.2.1
  • @storybook/addon-interactions 7.2.1
  • @storybook/addon-links 7.2.1
  • @storybook/addon-onboarding 1.0.11
  • @storybook/blocks 7.2.1
  • @storybook/react 7.2.1
  • @storybook/react-vite 7.2.1
  • @storybook/testing-library 0.2.2
  • @types/react 18.3.2
  • @types/react-dom 18.3.0
  • @typescript-eslint/eslint-plugin 6.0.0
  • @typescript-eslint/parser 6.0.0
  • @vitejs/plugin-react 4.3.0
  • clsx 2.1.1
  • eslint 8.57.0
  • eslint-plugin-react-hooks 4.6.2
  • eslint-plugin-react-refresh 0.4.7
  • eslint-plugin-storybook 0.8.0
  • sass 1.77.2
  • storybook 7.2.1
  • typescript 5.0.2
  • vite 4.4.5
  • vite-plugin-dts 3.5.1
  • vite-plugin-svgr 3.2.0
  • react ^18.2.0
  • react-dom ^18.2.0
nvm
.nvmrc
  • node 18

  • Check this box to trigger a request for Renovate to run again on this repository

404 Page

Problem to Solve

We can go to the wrong URL, for example, /uploaded-programs2222 and there is an empty page

Possible Solution

Update our router's settings

Notes

No response

Use one single method for get metadata

File Location(s)

  1. Program.tsx
  2. ApiService.tsx -> SendMessageToProgram

Proposal

Now to get metadata from the backend in one case we use dispatch(getProgramAction(hash)) -> call program.data method, and another case (on MessageForm.tsx -> SendMessageToProgram) we use 'program.getMeta'

Find the optimal option to get metadata

Rework upload program process

Problem to Solve

Now the program is loaded in 2 stages: splitting the program into .opt and .meta files and then downloading separately.
It's not user-friendly.

Possible Solution

  1. Allow the user to upload the raw program file and parse the metadata at the time of download
  2. Remove fields for manual metadata entry. replace them with a single <textarea> with the ability to load and validate JSON

#107

Notes

No response

`gear-js/api/using-examples` is outdated

Problem

could not run yarn under api/using-examples

Steps

  1. cd api/using-examples
  2. touch yarn.lock
  3. yarn

Possible Solution

  1. update using-examples
  2. add CI for it

Notes

No response

Relevant Log Output

Click to expand/collapse

4:14PM yarn                                                                                                                                                                                                                                                                    
➤ YN0000: ┌ Resolution step                                                                                                                                                                                                                                                     
➤ YN0000: ⠧ @jridgewell/sourcemap-codec@npm:^1.4.10                                                                                                                                                                                                                             
^C%                                                                                                                                     4:14PM yarn build                                                                                                                       
src/balance.ts:6:18 - error TS2339: Property 'subsribeBalanceChange' does not exist on type 'GearEvents'.                                                                                                                                                                       
                                                                                                                                                                                                                                                                                
6   api.gearEvents.subsribeBalanceChange(alice.address, (newBalance) => {                                                                                                                                                                                                       
                   ~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                
src/debug-mode.ts:14:34 - error TS2339: Property 'static_pages' does not exist on type 'ProgramDetails'.                                                                                                                                                                        
                                                                                                                                                                                                                                                                                
14     data.programs.forEach(({ id, static_pages, persistent_pages, code_hash, nonce }) => {                                                                                                                                                                                    
                                    ~~~~~~~~~~~~                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                
src/debug-mode.ts:14:48 - error TS2339: Property 'persistent_pages' does not exist on type 'ProgramDetails'.                                                                                                                                                                    
                                                                                                                                                                                                                                                                                
14     data.programs.forEach(({ id, static_pages, persistent_pages, code_hash, nonce }) => {                                                                                                                                                                                    
                                                  ~~~~~~~~~~~~~~~~                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                
src/debug-mode.ts:14:66 - error TS2339: Property 'code_hash' does not exist on type 'ProgramDetails'.                                                                                                                                                                           
                                                                                                                                                                                                                                                                                
14     data.programs.forEach(({ id, static_pages, persistent_pages, code_hash, nonce }) => {                                                                                                                                                                                    
                                                                    ~~~~~~~~~                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                
src/debug-mode.ts:14:77 - error TS2339: Property 'nonce' does not exist on type 'ProgramDetails'.                                                                                                                                                                               
                                                                                                                                                                                                                                                                                
14     data.programs.forEach(({ id, static_pages, persistent_pages, code_hash, nonce }) => {                                                                                                                                                                                    
                                                                               ~~~~~                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                
src/debug-mode.ts:17:10 - error TS2339: Property 'messageQueue' does not exist on type 'DebugData'.    

...

Messages page

Problem to Solve

Add page with all user notifications (logs)

Web3 extension integration

Problem to Solve

To date, the best practice in dApp is the use of web3 extension. it manages accounts and allows the signing of transactions with those accounts. It is safe, versatile, and has good support.

Possible Solution

  • Delete "account creation" in https://gear-tech.io/ side
  • Provide connection with Polkadot js extension
  • Provide account manegment on Gear side for extracted accounts

Documentation https://polkadot.js.org/docs/extension
Extancion https://polkadot.js.org/extension/

Notes

No response

update examples uri

File Location(s)

./api/README.md

Proposal

current examples refers to already archived repo

Transfer balance alert

File Location(s)

No response

Proposal

image

We need to delete the first alert about successful balance transfer

Metadata fields

File Location(s)

No response

Proposal

Look at #107
There you can find new fields which are returned from getWasmMetadata method.
use 0.6.6 version of @gear-js/api

Program page error without metadata

Problem

If the program doesn't have metadata then on the program page occurs an error

Steps

  1. Upload program without metadata
  2. Go to -> All programs
  3. Try to open the detail page of this program

Possible Solution

No response

Notes

No response

Relevant Log Output

Click to expand/collapse

<Paste your log here>

Program name reduction

Problem

The programs page uses the reduction of the programs names. And it doesn't work well

Steps

Screenshot 2021-10-18 at 11 15 54

Possible Solution

No response

Notes

No response

Relevant Log Output

No response

Update balance automaticly

Problem to Solve

Now if we get a test balance or spend gas, to show an updated balance is necessary to refresh the page.
Needs to update account balance automatically

Possible Solution

Move account balance to global state and provide update balance action

Notes

No response

Copy to clipboard alert

Problem

Alert about copying to clipboard doesn't work in some places. E.g. copying Account ID, program ID.

Steps

Press on the program on the programs page.
Press on the account ID

Possible Solution

No response

Notes

No response

Relevant Log Output

No response

Create keypair

Problem to Solve

  • Create keyring only after user presses Add button.
  • Restore keyring from an already existing json.
  • Create keyring from seed or mnemonic which is entered manually.

Possible Solution

To create keypairs use these functions:

import { GearKeyring } from '@gear-js/api';

// restore from json
GearKeyring.fromJson(json, passphrase);

// create from seed 
await GearKeyring.fromSeed(seed);

// create from mnemonic
GearKeyring.fromMnemonic(mnemonic)

To generate mnemonic and seed use:

import { GearKeyring } from '@gear-js/api';

const mnemonic = GearKeyring.generateMnemonic();

// it returns new generated seed and mnemonic
const { seed, mnemonic } = GearKeyring.generateSeed(); 

// returns seed for already generated mnemonic
GearKeyring.generateSeed(mnemonic); 

Notes

No response

Breaking change in node interface: extrinsics signature altered

There is a breaking change in the node interface - extrinsics signature alteration (see gear-tech/gear#3083 for details).

In particular, the Gear::send_message and Gear::send_reply extrinsics will now take an extra boolean argument indicating the intention of the caller to submit an extrinsic in a "gasless" way (that is, prepaid through a voucher that should have been issued for the caller's account and the destination program).

The UI should be aligned with this change.

Refactor transaction errors

File Location(s)

No response

Proposal

Refactor transaction errors for more understanding of what the error is

Multiple RPC providers

Problem to Solve

Possibility to have multiple RPC node endpoints to choose from if one is failing.

Possible Solution

So in the UI it would look like:

TEST NETWORK

  • wss://rpc-node.gear-tech.io
  • wss://some-other-rpc-node
  • etc..

Notes

Maybe this is already possible? In that case please enlight me :)

Safari doesn't support .at function.

Problem

.at function used in @gear-js/api library. And Safari doesn't support it

Steps

Open Safari and try to send any transaction

Possible Solution

No response

Notes

No response

Relevant Log Output

No response

Search program by ID

Problem to Solve

Search for a program by ID among all uploaded programs

Possible Solution

Now the search is happening only at the current page. We need to make a request to backend for getting specific program among all program which were uploaded. Also the search have to be available on the "Recent uploaded page"

Notes

No response

Reset uploading program

Problem

When the user is uploading a program and uploading is failed (e.g. there was not enogh balance) window with uplpoading tools is closing.

Steps

  1. Upload program without balance on account

Possible Solution

We have to leave the window open so that the user doesn't have to re-enter all parameters

Notes

No response

Relevant Log Output

No response

The `String` type is incorrectly sent to the smart contract

Problem

I'm using gear-dapps/ping contract and for some reason idea.gear-tech.io sends \u0010PING instead of PING. Since the contract is expecting a "PING" value, it doesn't reply to user
image

Steps

  1. open https://idea.gear-tech.io/programs/0x0cd68a835cbeb9037edde7f60da6b26286a48e886e8ef0b7f1346dbc7c39d7a8?node=wss%3A%2F%2Frpc-node.gear-tech.io%3A443
  2. press "send message"
  3. type "PING" (w/o quotes into payload:Str field)
  4. calculate gas for message
  5. send message to queue
  6. open https://idea.gear-tech.io/state/full/0x0cd68a835cbeb9037edde7f60da6b26286a48e886e8ef0b7f1346dbc7c39d7a8?node=wss%3A%2F%2Frpc-node.gear-tech.io%3A443 to read full state of smart contract (There will be a list of incorrectly encoded strings. In Some cases string starts from \u0010 and @)

Possible Solution

No response

Notes

No response

Relevant Log Output

No response

Error alert duplications

Problem

in case of negative scenarios, the error message is duplicated on the message sending page.

Steps

  1. Remome unnecessary alert (with red background)
  2. Check out if on the upload page is the same issue

Possible Solution

No response

Notes

No response

Relevant Log Output

Click to expand/collapse

<Paste your log here>

Provide the ability to specify payload as Hex

Problem to Solve

if the user already has an encoded payload, you need to provide the opportunity to specify it in the input and check that it is a hex type:

  1. On the upload program page
  2. On the send message page

At the same time, when sending a message/uploading program, we do not indicate the metafile (we only save it on the backend)

Possible Solution

  1. Add checkbox above payload input like "I have encoded payload"
  2. Сheck the contents of the input has a hex type
  3. This case doesn't use metadata for upload program/ send message

Notes

No response

Add balance

Problem to Solve

I don't know my balance and there is no way to check it

Possible Solution

Add to the header or next to the button "Get test balance"

Notes

No response

Delete Number of calls

File Location(s)

No response

Proposal

Need to delete "number of calls" label on the programs pages

Adapt metadata parsing in gear-js/IDEA according to recent changes

Problem to Solve

We have some significant changes in gear-tech/gear:

  • Replies from handle_reply is prohibited now; therefore, replies from a program to the user don't go to the mailbox but to the log only: gear-tech/gear#2675
  • We have changed the metadata format (added language identifier, metadata format version, changed reply type): gear-tech/gear#2829

We need to reflect these changes in IDEA after the next release.

Possible Solution

Check metadata usage and fix it accordingly.

Notes

No response

Add manual increase button If the message gets into the waitlist

Problem to Solve

Asynchronous messages in init and handle the message get into the Waitlist where additional gas is paid for finding it. In this case, we cannot guarantee that the calculated gas will be successful.

Possible Solution

GasInfo {
...
waited: bool;
}

If after gas calculation waited is true.
We need to show additional massage and a small button [+10%]

Message: "The message will be added to the Waitlist. For successful execution, we recommend increasing the gas value additionally."

Notes

No response

Generate form from metadata

Generate html inputs form from this:

[
  {
    "type": {
      "field": {
        "_enum_Option": ["u8"]
      }
    },
    "payload1": {
      "field": [1, 2, 3, 4]
    },
    "payload2": {
      "field": null
    }
  },
  { 
    "type": {
      "_enum_Result": {
        "ok": "u8",
        "err": { "_enum_Option": "String" }
      }
    },
    "payload1": {
      "ok": 10
    },
    "payload2": {
      "err": "Error"
    },
    "payload3": {
      "err": null
    }
  },
  {
    "type": {
      "person": {
        "name": "String",
        "surname": "String",
        "patronymic": {
          "_enum_Option": "String"
        }
      }
    },
    "payload1": {
      "person": {
        "name": "Name",
        "surname": "Surname",
        "patronymic": "Patronymic"
      }
    },
    "payload2": {
      "person": {
        "name": "Name",
        "surname": "Surname",
        "patronymic": null
      }
    }
  },
  {
    "type": {
      "_enum": {
        "SenMessage": { "message": "String", "to": { "id": "i32", "name": { "_enum_Option": "String" } } },
        "ReadMessage": "Null"
      }
    },
    "payload1": {
      "SendMessage": { "message": "Hello", "to": { "id": 235, "name": "Vasily" } }
    },
    "payload2": {
      "SendMessage": { "message": "Hello", "to": { "id": 235, "name": null } }
    },
    "payload3": {
      "ReadMessage": null
    }
  }
]

Copy program ID button

Problem to Solve

Copy program ID

Possible Solution

We have to add button (Copy ID) to copy program ID and delete the copy id from when clicking to program name

Notes

No response

Add button to wipe local storage programs for local network when restarting it.

Problem to Solve

Currently if I restart the local gear network, the programs will stay cached in the IndexedDB and still appear on the list despite not existing onchain.

Possible Solution

Add a simple button that allows the deletion of all programs (done practically by removing the IndexedDB entry created here that contains the list of programs.

Notes

No response

Builds a form for handle() when loading the program

Problem

In the new program download form, handle_input is processed , but it should check for init.

Steps

  1. Check if init exist provide corresponding fields, if not then hide it

Possible Solution

No response

Notes

No response

Relevant Log Output

Click to expand/collapse

<Paste your log here>

Make transfer

File Location(s)

No response

Proposal

When the user clicks on the "Make Transfer" button he sees nothing. You need to display the transfer balance information. There are events in the API that notify you of a successful transfer

Remove transfer balance

Problem to Solve

When the page load/reload the function "balance.transfer" calls.

Possible Solution

Need to remove this call. And add button (with call "balance.transfer) for update balance.
@codev0

Notes

No response

Form for metadata is not loaded twice

Problem

On upload program page:
If you upload or delete metadata, it is not possible to upload the metafile a second time.

Steps

Possible Solution

No response

Notes

No response

Relevant Log Output

Click to expand/collapse

<Paste your log here>

Fix css on update Metadata page

Problem

Снимок экрана 2021-11-23 в 18 47 47

Steps

  1. Fix css

Possible Solution

No response

Notes

No response

Relevant Log Output

Click to expand/collapse

<Paste your log here>

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.