{"id":13820551,"url":"https://github.com/pertinaxwallet/web-extension","last_synced_at":"2025-05-16T10:31:28.275Z","repository":{"id":216969447,"uuid":"443157697","full_name":"pertinaxwallet/web-extension","owner":"pertinaxwallet","description":"Web-extension wallet for Everscale blockchain. Fast, secure solution that will help you to interact with Everscale blockchain in the modern format. Web3-like library for Dapp, own secure keystore format, etc.","archived":false,"fork":false,"pushed_at":"2022-08-29T10:42:13.000Z","size":2432,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-05T08:09:09.039Z","etag":null,"topics":["blockchain","cryptocurrency","cryptowallet","dapp","decentralized","ever","everscale","web3"],"latest_commit_sha":null,"homepage":"","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pertinaxwallet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-30T18:43:14.000Z","updated_at":"2022-05-28T16:22:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"1f2f24f7-a698-4337-b0b1-1639e5545fd4","html_url":"https://github.com/pertinaxwallet/web-extension","commit_stats":null,"previous_names":["pertinaxwallet/web-extension"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pertinaxwallet%2Fweb-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pertinaxwallet%2Fweb-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pertinaxwallet%2Fweb-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pertinaxwallet%2Fweb-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pertinaxwallet","download_url":"https://codeload.github.com/pertinaxwallet/web-extension/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225423639,"owners_count":17472152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","cryptocurrency","cryptowallet","dapp","decentralized","ever","everscale","web3"],"created_at":"2024-08-04T08:01:05.204Z","updated_at":"2024-11-19T20:30:43.453Z","avatar_url":"https://github.com/pertinaxwallet.png","language":"Svelte","funding_links":[],"categories":["TypeScript"],"sub_categories":["Flutter SDK / Libraries"],"readme":"# Pertinax wallet\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"/src/assets/img/icon-128.png\" title=\"pertinax wallet\"\u003e\n\u003c/div\u003e\n\nThis repository contains source code for web-extension that allow interaction with everscale blockchain from your browser.\n\n# Security\n\n* Based on EVER SDK with minimal required dependencies\n* Wallet keys decrypt only when needs and via in-memory password, that stores in the one variable\n* IndexedDb stores only common information, like transaction history, etc.\n* Key pair is encrypted with AES-GCM\n* Password checking is provided by the comparison of a random hex key with length 256 that is stored in indexedDb and its encrypted hash that was obtained by AES-GCM with password inclusion. In this case to get master password needs to decrypt encrypted data that must be equal to the hex string by 256 length\n* Code develops accordance with [state-of-the-art security standards](https://developer.chrome.com/docs/extensions/mv3/security/)\n\n# Browser supporting\n\n* Chrome [install](https://chrome.google.com/webstore/detail/mtw/neopaklikggjkdflfmfebibdpcebomfh)\n* Firefox [install](https://github.com/pertinaxwallet/web-extension/releases)\n* Edge [install](https://microsoftedge.microsoft.com/addons/detail/mtw-%D0%BC%D0%BE%D0%B9-ton-%D0%BA%D0%BE%D1%88%D0%B5%D0%BB%D0%B5%D0%BA/oooiblbdpdlecigodndinbpfopomaegl)\n* Opera [install](https://github.com/pertinaxwallet/web-extension/releases)\n* Safari [install](https://github.com/pertinaxwallet/web-extension/releases)\n\n# Architecture\n\n## Application\n\n\u003cimg src=\"docs/architecture.png\" title=\"architecture pertinax wallet\"/\u003e\n\n## User flow\n\n\u003cimg src=\"docs/user-flow.png\" title=\"user flow pertinax wallet\"/\u003e\n\n# Tests\n\nTesting system is based on [selenium](https://www.selenium.dev/) and [mochajs](https://mochajs.org/) for e2e testing and [testing-library](https://testing-library.com/docs/svelte-testing-library/intro) for components\n\nTo test need to run:\n\n```bash\nnpm run test\n```\n\n# Technical stack\n\n* [rollup.js](https://rollupjs.org/guide/en/) for building processes\n* [svelte.js](https://svelte.dev/) for javascript framework\n* [chota](https://alexxnb.github.io/svelte-chota) for style\n* [idb](https://www.npmjs.com/package/idb) for internal db\n* [ton-client-js](https://github.com/tonlabs/ton-client-js) for interaction with Everscale blockchain\n* [safemultisig](https://github.com/tonlabs/ton-labs-contracts/tree/master/solidity/safemultisig) for multisig wallet smart contract\n* [webextension-polyfill](https://github.com/mozilla/webextension-polyfill) for cross browser supporting\n* [gulp.js](https://gulpjs.com/) for building distributives for browsers\n* [selenium](https://www.selenium.dev/) for e2e testing\n* [testing-library](https://testing-library.com/docs/svelte-testing-library/intro) for component testing\n\n# Contribution\n\nAnyone can participate in contribution. Pull request (PR) is welcome.\n\n# License\n\nThis repository provides by [Apache License 2.0](LICENSE)\n\n# Distribution and mode for developers\n\nTo prepare environment need to run:\n\n```\nnpm i\n```\n\nTo run developer mode:\n\n```\nnpm start\n```\n\nTo prepare build need to run:\n\n```\nnpm run dist\n```\n\nThis command will generate a zip file for each browser.\n\nFor the best developer environment we recommend to use launch [tonlabs/local-node](https://hub.docker.com/r/tonlabs/local-node)\n\nTo run local EVER node you have to install [docker](https://docs.docker.com/engine/install/)\n\nTo start the local EVER node just run:\n\n```\nnpm run run-tonos\n```\n\n# Documentation\n\nAll documentation you can find by this [link](https://pertinaxwallet.com)\n\n# Translations\n\nFor now the extension is available on the followed languages:\n* English\n* Arabic\n* Amharic\n* Bulgarian\n* Bengali\n* Catalan\n* Czech\n* Danish\n* German\n* Greek\n* Spanish\n* Estonian\n* Persian\n* Finnish\n* Filipino\n* French\n* Gujarati\n* Hebrew\n* Hindi\n* Croatian\n* Hungarian\n* Indonesian\n* Italian\n* Japanese\n* Kannada\n* Korean\n* Lithuanian\n* Latvian\n* Malayalam\n* Marathi\n* Malay\n* Dutch\n* Norwegian\n* Polish\n* Portuguese (Brazil)\n* Portuguese (Portugal)\n* Romanian\n* Russian\n* Slovak\n* Slovenian\n* Serbian\n* Swedish\n* Swahili\n* Tamil\n* Telugu\n* Thai\n* Turkish\n* Ukrainian\n* Vietnamese\n* Chinese (China)\n* Chinese (Taiwan)\n\nIf you are native speaker on any other language and can help with translation, please use this file as [source](/src/assets/i18n/en.json)\n\n# Steps for a new release\n\n* Run tests\n\n```\n  npm run test\n```\n\n* Create a commit with a description\n\n* Increase a version in package.json and manifest.json and update CHANGELOG file\n\n```\n  npm version [\u003cnewversion\u003e | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=\u003cprerelease-id\u003e] | from-git]\n```\n\nUsually after common commit needs to use `patch`\n\n```\n  npm version patch\n```\n\n* Create builds for browsers\n\n```\n  npm run build\n```\n\n# Requested features\n\n- [x] Multi accounts\n- [x] Dapp connector for the signing transactions, the signing messages, the encrypt/decrypt messages\n- [ ] Creating multisign wallet (many owners, requirement count more than 0)\n- [ ] Adding tokens and interactions with them\n- [ ] DePools supporting\n- [ ] Loading ABI for the smart contract interaction\n- [ ] Mobile version for IOS/Android platforms with the same functionality as in browsers\n- [ ] Qr codes for the payment system via the mobile version (the payment sending, ask payment, the deep link)\n- [ ] Onboarding library for Dapp for the quick installation of the web extension or the mobile version\n- [ ] Swipe operations\n- [ ] DEX supporting\n- [ ] Buying on external exchanges\n- [ ] Supporting of easy conversion between currencies\n- [ ] Hard wallet supporting\n- [ ] Fishing blacklist with the voting process on Everscale blockchain\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpertinaxwallet%2Fweb-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpertinaxwallet%2Fweb-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpertinaxwallet%2Fweb-extension/lists"}