├── .gitignore ├── .npmignore ├── .vscode └── launch.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── buildspec.yml ├── debug.sh ├── examples ├── eos-scatter-basic │ ├── .babelrc │ ├── .gitignore │ ├── .prettierrc │ ├── README.md │ ├── package.json │ ├── src │ │ ├── index.html │ │ ├── index.js │ │ └── styles.scss │ └── yarn.lock ├── transit-electron-dualbuild │ ├── .env.electron │ ├── .env.web │ ├── .gitignore │ ├── README.md │ ├── craco.config.electron.js │ ├── craco.config.web.js │ ├── docs │ │ └── cra-craco-header.png │ ├── electron-dev.js │ ├── package.json │ ├── public │ │ ├── electron.js │ │ ├── favicon.ico │ │ ├── index.html │ │ └── manifest.json │ ├── src │ │ ├── AccessContextSubscribe.tsx │ │ ├── AppRoutes.tsx │ │ ├── ArbSign.tsx │ │ ├── HomeScreen.tsx │ │ ├── PaymentForm.tsx │ │ ├── TestScreen.tsx │ │ ├── WalletStateSubscribe.tsx │ │ ├── config.ts │ │ ├── core │ │ │ ├── AppLayout.tsx │ │ │ ├── AuthenticatedRoute.tsx │ │ │ ├── AvailableWalletList.tsx │ │ │ ├── MenuSectionHeaderButton.tsx │ │ │ ├── UserAvatar.tsx │ │ │ ├── UserBlock.tsx │ │ │ ├── UserDropdown.tsx │ │ │ ├── UserMedia.tsx │ │ │ ├── UserMenu.tsx │ │ │ ├── UserMenuAddWalletButton.tsx │ │ │ ├── UserMenuLogoutButton.tsx │ │ │ ├── UserWalletList.tsx │ │ │ └── eosActions.ts │ │ ├── globalStyles.ts │ │ ├── index.tsx │ │ ├── initDefaultAccessContext.ts │ │ ├── login │ │ │ ├── LoginButton.tsx │ │ │ ├── LoginScreen.tsx │ │ │ └── LoginScreenWalletList.tsx │ │ ├── react-app-env.d.ts │ │ └── shared │ │ │ ├── EosLogo.tsx │ │ │ ├── LogoLink.tsx │ │ │ ├── MetroLogo.tsx │ │ │ ├── NoContent.tsx │ │ │ ├── ScatterLogo.tsx │ │ │ ├── buttons │ │ │ ├── CloseButton.tsx │ │ │ └── GoButton.tsx │ │ │ ├── dropdown │ │ │ ├── Dropdown.tsx │ │ │ ├── DropdownContainer.tsx │ │ │ ├── DropdownContent.tsx │ │ │ ├── DropdownTrigger.tsx │ │ │ └── index.ts │ │ │ ├── forms │ │ │ ├── FieldLabel.tsx │ │ │ ├── FormActions.tsx │ │ │ ├── FormElement.tsx │ │ │ ├── controls │ │ │ │ └── Input.tsx │ │ │ └── index.ts │ │ │ ├── helpers.ts │ │ │ ├── icons │ │ │ └── SpinnerIcon.tsx │ │ │ ├── providers │ │ │ ├── Provider.tsx │ │ │ ├── ProviderTypes.ts │ │ │ └── metro │ │ │ │ └── MetroPinScreen.tsx │ │ │ ├── screen │ │ │ ├── ScreenContent.tsx │ │ │ ├── ScreenLayout.tsx │ │ │ └── index.ts │ │ │ ├── transactions │ │ │ ├── TransactionAddonBlock.tsx │ │ │ ├── TransactionAddonButton.tsx │ │ │ ├── TransactionAddonMenu.tsx │ │ │ ├── TransactionAddonMenuItem.tsx │ │ │ ├── TransactionButton.tsx │ │ │ ├── TransactionButtonBlock.tsx │ │ │ └── types.ts │ │ │ └── wallets │ │ │ ├── WalletList.tsx │ │ │ ├── WalletListItem.tsx │ │ │ ├── WalletListItemInfo.tsx │ │ │ ├── WalletListItemProgress.tsx │ │ │ ├── WalletListItemStatus.tsx │ │ │ ├── WalletProviderIcon.tsx │ │ │ └── types.ts │ ├── tsconfig.json │ └── yarn.lock ├── transit-react-basic │ ├── .env.local │ ├── .gitignore │ ├── README.md │ ├── ScatterNetworkSettings.jpg │ ├── Scatter_AddAccount1.jpg │ ├── Scatter_AddAccount2.jpg │ ├── Scatter_AddAccount3.jpg │ ├── Scatter_AddAccount4.jpg │ ├── Scatter_AddAccount5.jpg │ ├── Transit_DemoVideo.jpg │ ├── TransportU2F.js.patch │ ├── Transportwebauthn.js.patch │ ├── images.d.ts │ ├── package-lock.json │ ├── package.json │ ├── patch-TransportU2F.sh │ ├── patch-Transportwebauthn.sh │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ └── manifest.json │ ├── src │ │ ├── AccessContextSubscribe.tsx │ │ ├── AppRoutes.tsx │ │ ├── ArbSign.tsx │ │ ├── HomeScreen.tsx │ │ ├── PaymentForm.tsx │ │ ├── TestScreen.tsx │ │ ├── WalletStateSubscribe.tsx │ │ ├── config.ts │ │ ├── core │ │ │ ├── AppLayout.tsx │ │ │ ├── AuthenticatedRoute.tsx │ │ │ ├── AvailableWalletList.tsx │ │ │ ├── MenuSectionHeaderButton.tsx │ │ │ ├── UserAvatar.tsx │ │ │ ├── UserBlock.tsx │ │ │ ├── UserDropdown.tsx │ │ │ ├── UserMedia.tsx │ │ │ ├── UserMenu.tsx │ │ │ ├── UserMenuAddWalletButton.tsx │ │ │ ├── UserMenuLogoutButton.tsx │ │ │ ├── UserWalletList.tsx │ │ │ └── eosActions.ts │ │ ├── globalStyles.ts │ │ ├── index.tsx │ │ ├── initDefaultAccessContext.ts │ │ ├── login │ │ │ ├── LoginButton.tsx │ │ │ ├── LoginScreen.tsx │ │ │ └── LoginScreenWalletList.tsx │ │ └── shared │ │ │ ├── EosLogo.tsx │ │ │ ├── LogoLink.tsx │ │ │ ├── MetroLogo.tsx │ │ │ ├── NoContent.tsx │ │ │ ├── ScatterLogo.tsx │ │ │ ├── buttons │ │ │ └── CloseButton.tsx │ │ │ ├── dropdown │ │ │ ├── Dropdown.tsx │ │ │ ├── DropdownContainer.tsx │ │ │ ├── DropdownContent.tsx │ │ │ ├── DropdownTrigger.tsx │ │ │ └── index.ts │ │ │ ├── forms │ │ │ ├── FieldLabel.tsx │ │ │ ├── FormActions.tsx │ │ │ ├── FormElement.tsx │ │ │ ├── controls │ │ │ │ └── Input.tsx │ │ │ └── index.ts │ │ │ ├── helpers.ts │ │ │ ├── icons │ │ │ └── SpinnerIcon.tsx │ │ │ ├── screen │ │ │ ├── ScreenContent.tsx │ │ │ ├── ScreenLayout.tsx │ │ │ └── index.ts │ │ │ ├── transactions │ │ │ ├── TransactionAddonBlock.tsx │ │ │ ├── TransactionAddonButton.tsx │ │ │ ├── TransactionAddonMenu.tsx │ │ │ ├── TransactionAddonMenuItem.tsx │ │ │ ├── TransactionButton.tsx │ │ │ ├── TransactionButtonBlock.tsx │ │ │ └── types.ts │ │ │ └── wallets │ │ │ ├── WalletList.tsx │ │ │ ├── WalletListItem.tsx │ │ │ ├── WalletListItemInfo.tsx │ │ │ ├── WalletListItemProgress.tsx │ │ │ ├── WalletListItemStatus.tsx │ │ │ ├── WalletProviderIcon.tsx │ │ │ └── types.ts │ ├── tsconfig.json │ ├── tsconfig.prod.json │ ├── tsconfig.test.json │ └── tslint.json └── transit-script-tag │ ├── index.html │ └── styles.css ├── lerna.json ├── package.json ├── packages ├── eos-transit-anchorlink-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts ├── eos-transit-keycat-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts ├── eos-transit-ledger-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── TransportU2F.js.patch │ ├── Transportwebauthn.js.patch │ ├── exampleTxn.txt │ ├── package-lock.json │ ├── package.json │ ├── patch-TransportU2F.sh │ ├── patch-Transportwebauthn.sh │ ├── src │ │ ├── EosLedger.ts │ │ ├── EosUtils.ts │ │ ├── LedgerDataManager.ts │ │ ├── index.ts │ │ └── typings │ │ │ ├── bigi │ │ │ └── index.d.ts │ │ │ ├── eosjs-ecc │ │ │ └── index.d.ts │ │ │ ├── ledgerhq__hw-transport-node-hid │ │ │ └── index.d.ts │ │ │ ├── ledgerhq__hw-transport-web-ble │ │ │ └── index.d.ts │ │ │ ├── ledgerhq__hw-transport-webauthn │ │ │ └── index.d.ts │ │ │ └── ledgerhq__hw-transport-webusb │ │ │ └── index.d.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ ├── webpack.config.ts │ └── yarn.lock ├── eos-transit-lynx-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── exampleTxn.txt │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── LedgerDataManager.ts │ │ ├── index.ts │ │ └── typings │ │ │ ├── bigi │ │ │ └── index.d.ts │ │ │ ├── eosjs-ecc │ │ │ └── index.d.ts │ │ │ └── eosjs │ │ │ └── index.d.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ ├── webpack.config.ts │ └── yarn.lock ├── eos-transit-meetone-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts ├── eos-transit-metro-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts ├── eos-transit-portis-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts ├── eos-transit-scatter-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── typings │ │ │ ├── scatterjs-core.d.ts │ │ │ └── scatterjs-plugin-eosjs2.d.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts ├── eos-transit-simpleos-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts ├── eos-transit-stub-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts ├── eos-transit-tokenpocket-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts ├── eos-transit-whalevault-provider │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ └── webpack.config.ts └── eos-transit │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ ├── index.ts │ ├── stateContainer.ts │ ├── types.ts │ ├── util.ts │ ├── wallet.ts │ └── walletAccessContext.ts │ ├── tsconfig.json │ ├── tsconfig.webpack.json │ ├── webpack.config.eosjs.ts │ └── webpack.config.ts ├── plugin-dev └── transit-dev-simple │ ├── .env.local │ ├── .gitignore │ ├── .vscode │ └── launch.json │ ├── README.md │ ├── VideoPreview.png │ ├── images.d.ts │ ├── package-lock.json │ ├── package.json │ ├── public │ ├── favicon.ico │ ├── index.html │ └── manifest.json │ ├── src │ ├── TestScreen.tsx │ ├── default_mywallet.ts │ ├── example_mywallet_eoslynx._ts │ ├── example_mywallet_tokenpocket._ts │ ├── index.tsx │ ├── initDefaultAccessContext.ts │ ├── mywallet.ts │ ├── screen │ │ ├── AppLayout.tsx │ │ ├── ScreenContent.tsx │ │ ├── ScreenLayout.tsx │ │ └── index.ts │ └── ui │ │ ├── AppRoutes.tsx │ │ ├── DebugButton.tsx │ │ ├── LogoLink.tsx │ │ ├── TestButton.tsx │ │ ├── Toggle.tsx │ │ └── globalStyles.ts │ ├── tsconfig.json │ ├── tsconfig.prod.json │ ├── tsconfig.test.json │ └── tslint.json ├── tsconfig.json ├── tsconfig.webpack.json ├── tslint.json ├── webpack.config.ts └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /dist 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | # .env.local 16 | # .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "chrome", 10 | "request": "launch", 11 | "name": "Launch Chrome against localhost", 12 | "url": "http://localhost:8080", 13 | "webRoot": "${workspaceFolder}" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /buildspec.yml: -------------------------------------------------------------------------------- 1 | version: 0.2 2 | 3 | phases: 4 | install: 5 | commands: 6 | pre_build: 7 | commands: 8 | - echo prepare env. Ensure latest version of node is available. 9 | - sudo apt-get update 10 | - sudo apt-get install -y apt-transport-https 11 | - sudo curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - 12 | - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list 13 | - curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - 14 | - sudo apt-get update 15 | - sudo apt-get install -y nodejs 16 | - sudo apt-get install -y build-essential 17 | - sudo npm -v 18 | - sudo apt-get install -y yarn 19 | - echo done with prepare env. 20 | build: 21 | commands: 22 | - echo build site using yarn 23 | - yarn 24 | - cd ./examples/transit-react-basic/ 25 | - chmod 755 patch-TransportU2F.sh 26 | - chmod 755 patch-Transportwebauthn.sh 27 | - yarn installpkg 28 | - yarn build 29 | - echo done building 30 | post_build: 31 | commands: 32 | - echo about to sync to S3 33 | - aws s3 sync ./build "s3://${BUCKET_NAME}" --delete 34 | - echo after sync to S3 35 | artifacts: 36 | files: 37 | - '**/*' -------------------------------------------------------------------------------- /debug.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | SESSION=transit 3 | 4 | set -- $(stty size) 5 | tmux kill-session -t transit 6 | tmux -2 new-session -d -s $SESSION -x "$2" -y "$(($1 - 1))" 7 | 8 | # Setup a window for tailing log files 9 | tmux new-window -t $SESSION:1 -n 'Debug' 10 | tmux split-window -v 11 | 12 | tmux select-pane -t 0 13 | tmux split-window -v 14 | 15 | tmux select-pane -t 0 16 | tmux send-keys "cd packages/eos-transit" C-m 17 | tmux send-keys "yarn watch" C-m 18 | tmux select-pane -t 1 19 | tmux send-keys "cd packages/eos-transit-tokenpocket-provider" C-m 20 | tmux send-keys "yarn watch" C-m 21 | 22 | tmux select-pane -t 2 23 | tmux split-window -v 24 | 25 | tmux select-pane -t 2 26 | tmux send-keys "cd packages" C-m 27 | tmux select-pane -t 3 28 | tmux send-keys "cd examples/transit-react-basic" C-m 29 | tmux send-keys "yarn start" C-m 30 | 31 | 32 | # Attach to session 33 | tmux -2 attach-session -t $SESSION 34 | -------------------------------------------------------------------------------- /examples/eos-scatter-basic/.babelrc: -------------------------------------------------------------------------------- 1 | { "plugins": ["transform-runtime"] } 2 | -------------------------------------------------------------------------------- /examples/eos-scatter-basic/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | **/node_modules 6 | 7 | # testing 8 | /coverage 9 | 10 | # production 11 | /build 12 | /dist 13 | /lib 14 | **/build 15 | **/dist 16 | **/lib 17 | 18 | # misc 19 | .DS_Store 20 | # .env.local 21 | .env.development.local 22 | .env.test.local 23 | .env.production.local 24 | .cache 25 | 26 | npm-debug.log* 27 | yarn-debug.log* 28 | yarn-error.log* 29 | lerna-debug.log* 30 | -------------------------------------------------------------------------------- /examples/eos-scatter-basic/.prettierrc: -------------------------------------------------------------------------------- 1 | printWidth: 80 2 | singleQuote: true 3 | tabWidth: 2 4 | useTabs: false 5 | bracketSpacing: true 6 | -------------------------------------------------------------------------------- /examples/eos-scatter-basic/README.md: -------------------------------------------------------------------------------- 1 | # eos-scatter-basic 2 | 3 | This is an example of running a `pay` transaction via Scatter (either `ScatterWebExtension` or `Scatter Desktop`). 4 | 5 | ## Quick start 6 | 7 | ### Prerequisites 8 | 9 | 1. Make sure you have [`yarn`](https://yarnpkg.com) installed. 10 | 2. Install [`parcel-bundler`](https://en.parceljs.org/getting_started.html) globally: 11 | 12 | With `yarn`: 13 | 14 | $ yard global add parcel-bundler 15 | 16 | or `npm`: 17 | 18 | $ npm install -g parcel-bundler 19 | 20 | ### Setup 21 | 22 | 1. Install the dependencies: 23 | 24 | $ yarn install 25 | 26 | 2. Start the development server with: 27 | 28 | $ npm start 29 | 30 | 3. Access the server at [`localhost:1234`](http://localhost:1234). 31 | -------------------------------------------------------------------------------- /examples/eos-scatter-basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-scatter-basic", 3 | "private": true, 4 | "scripts": { 5 | "start": "parcel ./src/index.html" 6 | }, 7 | "dependencies": { 8 | "@babel/cli": "^7.0.0", 9 | "@babel/core": "^7.0.0", 10 | "@babel/plugin-transform-async-to-generator": "^7.0.0", 11 | "@babel/plugin-transform-runtime": "^7.0.0", 12 | "@babel/preset-env": "^7.0.0", 13 | "@babel/runtime": "^7.0.0", 14 | "babel-loader": "^8.0.2", 15 | "babel-plugin-transform-runtime": "^6.23.0", 16 | "babel-preset-minify": "^0.5.0-alpha.3cc09dcf", 17 | "eosjs": "^16.0.7", 18 | "minireset.css": "^0.0.3", 19 | "scatter-js": "^2.5.2", 20 | "scatterjs-core": "^1.1.1", 21 | "scatterjs-plugin-eosjs": "^1.1.1" 22 | }, 23 | "devDependencies": { 24 | "node-sass": "^4.9.3" 25 | }, 26 | "prettier": { 27 | "singleQuote": true, 28 | "printWidth": 80, 29 | "tabWidth": 2, 30 | "useTabs": false, 31 | "bracketSpacing": true 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /examples/eos-scatter-basic/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | EOS Playground - Scatter Basic Demo 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 |

15 | EOS / Scatter Basic Demo 16 |

17 | 18 |

19 | Use case: Bob pays Mary 20 |

21 |
22 | 23 |
24 | 25 | 26 | 32 |
33 | 34 |
35 | 36 | 37 | 44 |
45 | 46 |
47 | 48 | 49 | 55 |
56 | 57 |
58 | 63 |
64 |
65 | 66 | -------------------------------------------------------------------------------- /examples/eos-scatter-basic/src/styles.scss: -------------------------------------------------------------------------------- 1 | // @import './node_modules/minireset.css/minireset.css'; 2 | 3 | body { 4 | font-family: 'Helvetica Neue', sans-serif; 5 | padding: 40px 50px; 6 | } 7 | 8 | * { 9 | box-sizing: border-box; 10 | } 11 | 12 | h2 { 13 | display: block; 14 | margin: 0 0 8px; 15 | font-size: 20px; 16 | } 17 | 18 | .header { 19 | margin-bottom: 30px; 20 | } 21 | 22 | .subheading { 23 | display: block; 24 | margin: 0 0 10px; 25 | font-size: 12px; 26 | font-weight: normal; 27 | color: #aaa; 28 | } 29 | 30 | .container { 31 | margin: 0 auto; 32 | max-width: 350px; 33 | } 34 | 35 | .form-element { 36 | margin-bottom: 20px; 37 | 38 | label { 39 | display: block; 40 | margin-bottom: 5px; 41 | font-size: 10px; 42 | color: #aaa; 43 | text-transform: uppercase; 44 | } 45 | } 46 | 47 | .input { 48 | display: block; 49 | width: 100%; 50 | min-width: 180px; 51 | padding: 10px 20px; 52 | border: 1px solid #ccc; 53 | border-radius: 0; 54 | font-size: 14px; 55 | font-weight: 300; 56 | color: #252525; 57 | outline: none; 58 | 59 | &:focus { 60 | border-color: #999; 61 | } 62 | 63 | &:disabled { 64 | background-color: #eee; 65 | color: #999; 66 | } 67 | } 68 | 69 | .button { 70 | display: block; 71 | width: 100%; 72 | min-width: 180px; 73 | padding: 10px 20px; 74 | font-size: 12px; 75 | font-weight: 300; 76 | border: none; 77 | background-color: rgb(14, 196, 150); 78 | color: white; 79 | text-transform: uppercase; 80 | outline: none; 81 | 82 | &:hover { 83 | background-color: rgb(3, 231, 174); 84 | cursor: pointer; 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/.env.electron: -------------------------------------------------------------------------------- 1 | REACT_APP_NAME=myApp 2 | REACT_APP_MODE=electron 3 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/.env.web: -------------------------------------------------------------------------------- 1 | REACT_APP_NAME=myApp 2 | REACT_APP_MODE=web 3 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | 25 | .DS_Store 26 | hide 27 | dist 28 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/README.md: -------------------------------------------------------------------------------- 1 | ### Electron example 2 | 3 | This is a copy of the transit-react-basic project 4 | 5 | To run the project: 6 | 7 | 1. yarn install (Do this from powershell if on windows) 8 | 2. yarn watch:electron (Do this from WSL if on windows - lerna link to npm packages won't work otherwise) 9 | 3. yarn start:web (Do this from powershell if on windows) -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/craco.config.electron.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | webpack: { 3 | configure: { 4 | target: 'electron-renderer' 5 | } 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/craco.config.web.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | webpack: { 3 | configure: { 4 | target: 'web' 5 | } 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/docs/cra-craco-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-electron-dualbuild/docs/cra-craco-header.png -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-electron-dualbuild/public/favicon.ico -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 22 | React App 23 | 24 | 25 | 28 |
29 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": ".", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/AccessContextSubscribe.tsx: -------------------------------------------------------------------------------- 1 | import { Component, ReactNode } from 'react'; 2 | import WAL, { WalletAccessContext, StateUnsubscribeFn } from 'eos-transit'; 3 | 4 | export interface AccessContextSubscribeProps { 5 | children?: (accessContext: WalletAccessContext) => ReactNode; 6 | } 7 | 8 | export class AccessContextSubscribe extends Component { 9 | unsubscribe?: StateUnsubscribeFn; 10 | unmounted?: boolean; 11 | 12 | handleAccessContextUpdate = () => { 13 | if (!this.unmounted) this.forceUpdate(); 14 | }; 15 | 16 | componentDidMount() { 17 | this.unsubscribe = WAL.accessContext.subscribe(this.handleAccessContextUpdate); 18 | } 19 | 20 | componentWillUnmount() { 21 | this.unmounted = true; 22 | const { unsubscribe } = this; 23 | if (typeof unsubscribe === 'function') unsubscribe(); 24 | } 25 | 26 | render() { 27 | const { children } = this.props; 28 | if (typeof children !== 'function') return null; 29 | return children(WAL.accessContext); 30 | } 31 | } 32 | 33 | export default AccessContextSubscribe; 34 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/AppRoutes.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Route, Switch } from 'react-router-dom'; 3 | import LoginScreen from './login/LoginScreen'; 4 | import AuthenticatedRoute from './core/AuthenticatedRoute'; 5 | import { AppLayout } from './core/AppLayout'; 6 | import { HomeScreen } from './HomeScreen'; 7 | import { TestScreen } from './TestScreen'; 8 | 9 | export function AppRoutes() { 10 | return ( 11 | 12 | 13 | 14 | 15 | {() => ( 16 | 17 | 18 | 19 | 20 | )} 21 | 22 | /> 23 | {/* */} 24 | 25 | 26 | ); 27 | } 28 | 29 | export default AppRoutes; 30 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/HomeScreen.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PaymentForm from './PaymentForm'; 3 | 4 | export function HomeScreen() { 5 | return ; 6 | } 7 | 8 | export default HomeScreen; 9 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/TestScreen.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ArbSign from './ArbSign'; 3 | 4 | export function TestScreen() { 5 | return ; 6 | } 7 | 8 | export default TestScreen; 9 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/WalletStateSubscribe.tsx: -------------------------------------------------------------------------------- 1 | import { Component, ReactNode } from 'react'; 2 | import { StateUnsubscribeFn, Wallet, WalletState } from 'eos-transit'; 3 | 4 | export interface WalletStateSubscribeProps { 5 | wallet: Wallet; 6 | children?: (walletState: WalletState) => ReactNode; 7 | } 8 | 9 | export class WalletStateSubscribe extends Component { 10 | unsubscribe?: StateUnsubscribeFn; 11 | unmounted?: boolean; 12 | 13 | handleWalletStateUpdate = () => { 14 | if (!this.unmounted) this.forceUpdate(); 15 | }; 16 | 17 | componentDidMount() { 18 | const { wallet } = this.props; 19 | this.unsubscribe = wallet.subscribe(this.handleWalletStateUpdate); 20 | } 21 | 22 | componentWillUnmount() { 23 | this.unmounted = true; 24 | const { unsubscribe } = this; 25 | if (typeof unsubscribe === 'function') unsubscribe(); 26 | } 27 | 28 | render() { 29 | const { children, wallet } = this.props; 30 | if (typeof children !== 'function') return null; 31 | return children(wallet.state); 32 | } 33 | } 34 | 35 | export default WalletStateSubscribe; 36 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/config.ts: -------------------------------------------------------------------------------- 1 | const env = process.env; 2 | 3 | export const config = { 4 | defaultNetwork: env.REACT_APP_DEFAULT_NETWORK 5 | }; 6 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/core/AppLayout.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactNode } from 'react'; 2 | import { 3 | ScreenLayout, 4 | ScreenContentHeader, 5 | ScreenContentBody, 6 | ScreenContentBodyContainer, 7 | ScreenContentHeaderMain 8 | } from '../shared/screen'; 9 | import { LogoLink } from '../shared/LogoLink'; 10 | import UserBlock from './UserBlock'; 11 | 12 | export interface AppLayoutProps { 13 | children?: ReactNode; 14 | } 15 | 16 | export function AppLayout({ children }: AppLayoutProps) { 17 | return ( 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | {children} 28 | 29 | 30 | ); 31 | } 32 | 33 | export default AppLayout; 34 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/core/AuthenticatedRoute.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component, ReactNode } from 'react'; 2 | import { 3 | Route, 4 | Redirect, 5 | withRouter, 6 | RouteComponentProps 7 | } from 'react-router-dom'; 8 | import WAL from 'eos-transit'; 9 | 10 | export interface Props extends RouteComponentProps { 11 | component?: Component; 12 | children?: (props: any) => ReactNode; 13 | otherwiseRedirectTo?: string; 14 | } 15 | 16 | export function AuthenticatedRoute({ 17 | children, 18 | component, 19 | otherwiseRedirectTo, 20 | ...rest 21 | }: Props) { 22 | function renderComponent(props: any) { 23 | if (typeof children === 'function') { 24 | return children(props); 25 | } 26 | 27 | if (Component) { 28 | return ; 29 | } 30 | 31 | return null; 32 | } 33 | 34 | return ( 35 | { 38 | const isLoggedIn = !!WAL.accessContext.getActiveWallets().length; 39 | if (isLoggedIn) return renderComponent(props); 40 | 41 | return ( 42 | 48 | ); 49 | }} 50 | /> 51 | ); 52 | } 53 | 54 | export default withRouter(AuthenticatedRoute); 55 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/core/UserAvatar.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import { FiUser } from 'react-icons/fi'; 4 | 5 | const UserAvatarRoot = styled('div')({ 6 | display: 'flex', 7 | alignItems: 'center', 8 | justifyContent: 'center', 9 | position: 'relative', 10 | width: 30, 11 | height: 30, 12 | fontSize: 20, 13 | // backgroundColor: 'rgba(0, 0, 0, 0.3)', 14 | borderRadius: '50%', 15 | overflow: 'hidden', 16 | 17 | '& img': { 18 | position: 'absolute', 19 | top: 0, 20 | left: 0, 21 | width: '100%', 22 | maxWidth: '120%', 23 | maxHeight: '120%', 24 | textAlign: 'center' 25 | } 26 | }); 27 | 28 | export interface Props { 29 | children?: any; 30 | isActive?: boolean; 31 | isLoading?: boolean; 32 | onClick?: () => void; 33 | url?: string; 34 | } 35 | 36 | export function UserAvatar(props: Props) { 37 | const { url } = props; 38 | 39 | return ( 40 | {url ? avatar : } 41 | ); 42 | } 43 | 44 | export default UserAvatar; 45 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/core/UserBlock.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactNode } from 'react'; 2 | import WAL from 'eos-transit'; 3 | import { UserDropdown } from './UserDropdown'; 4 | 5 | const { accessContext } = WAL; 6 | 7 | export interface UserBlockProps { 8 | children?: ReactNode; 9 | username?: string; 10 | } 11 | 12 | export function UserBlock({ children, username }: UserBlockProps) { 13 | return ; 14 | } 15 | 16 | export function UserBlockConnected({ children }: UserBlockProps) { 17 | const isLoggedIn = !!accessContext.getActiveWallets().length; 18 | if (!isLoggedIn) return null; 19 | 20 | const auth = accessContext.getActiveWallets()[0].auth; 21 | const username = (auth && `${auth.accountName}@${auth.permission}`) || void 0; 22 | 23 | return {children}; 24 | } 25 | 26 | export default UserBlockConnected; 27 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/core/UserDropdown.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { 3 | Dropdown, 4 | DropdownContainer, 5 | DropdownContent 6 | } from '../shared/dropdown'; 7 | import UserMedia from './UserMedia'; 8 | import { UserMenu } from './UserMenu'; 9 | 10 | export interface UserDropdownProps { 11 | username?: string; 12 | } 13 | 14 | export function UserDropdown({ username }: UserDropdownProps) { 15 | return ( 16 | 17 | {({ isExpanded, toggle }: any) => ( 18 | 19 | 26 | 27 | 28 | 29 | 30 | 31 | )} 32 | 33 | ); 34 | } 35 | 36 | export default UserDropdown; 37 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/core/UserMenuAddWalletButton.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import { IoIosAddCircleOutline } from 'react-icons/io'; 4 | 5 | export interface UserMenuAddWalletButtonProps { 6 | onClick?: (event: any) => void; 7 | } 8 | 9 | export const UserMenuAddWalletButtonRoot = styled('div')({ 10 | display: 'flex', 11 | alignItems: 'center', 12 | width: '100%', 13 | border: '1px dashed #424a56', 14 | borderRadius: 1, 15 | fontSize: 14, 16 | backgroundColor: '#20252f', 17 | color: 'white', 18 | textAlign: 'center', 19 | outline: 'none', 20 | transition: 'all 0.2s', 21 | 22 | '&:hover': { 23 | backgroundColor: '#2e3542', 24 | color: 'white', 25 | cursor: 'pointer', 26 | borderColor: '#346f77' 27 | }, 28 | 29 | '&:active': { 30 | backgroundColor: '#26c5df', 31 | borderColor: 'transparent' 32 | } 33 | }); 34 | 35 | const iconWidth = 50; 36 | 37 | export const UserMenuAddWalletButtonText = styled('div')({ 38 | flex: 1, 39 | padding: `13px ${iconWidth + 13}px 13px 0`, 40 | textAlign: 'center' 41 | }); 42 | 43 | export const UserMenuAddWalletButtonIcon = styled('div')({ 44 | display: 'flex', 45 | alignItems: 'center', 46 | justifyContent: 'center', 47 | width: iconWidth, 48 | padding: 13, 49 | fontSize: 24, 50 | opacity: 0.5 51 | }); 52 | 53 | export function UserMenuAddWalletButton({ 54 | onClick 55 | }: UserMenuAddWalletButtonProps) { 56 | return ( 57 | 58 | 59 | 60 | 61 | 62 | Add Wallet 63 | 64 | ); 65 | } 66 | 67 | export default UserMenuAddWalletButton; 68 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/core/UserMenuLogoutButton.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import WAL from 'eos-transit'; 4 | import { IoIosLogOut } from 'react-icons/io'; 5 | 6 | const { accessContext } = WAL; 7 | 8 | export interface UserMenuLogoutButtonProps { 9 | onClick?: (event: any) => void; 10 | } 11 | 12 | export const UserMenuLogoutButtonRoot = styled('div')({ 13 | display: 'flex', 14 | alignItems: 'center', 15 | justifyContent: 'center', 16 | width: '100%', 17 | border: 'none', 18 | borderRadius: 1, 19 | padding: '10px 20px', 20 | fontSize: 14, 21 | backgroundColor: '#20252f', 22 | color: 'white', 23 | textAlign: 'center', 24 | outline: 'none', 25 | transition: 'all 0.2s', 26 | 27 | '&:hover': { 28 | // backgroundColor: '#2e3542', 29 | backgroundColor: '#98243f', 30 | color: 'white', 31 | cursor: 'pointer' 32 | }, 33 | 34 | '&:active': { 35 | // backgroundColor: '#2e3542', 36 | backgroundColor: '#c3173f' 37 | } 38 | }); 39 | 40 | export const UserMenuLogoutButtonIcon = styled('div')({ 41 | display: 'flex', 42 | alignItems: 'center', 43 | paddingLeft: 10 44 | }); 45 | 46 | export const UserMenuLogoutButtonText = styled('div')({}); 47 | 48 | export function UserMenuLogoutButton({ onClick }: UserMenuLogoutButtonProps) { 49 | return ( 50 | 51 | Logout 52 | 53 | 54 | 55 | 56 | ); 57 | } 58 | 59 | export function UserMenuLogoutButtonConnected() { 60 | return accessContext.terminateAll()} />; 61 | } 62 | 63 | export default UserMenuLogoutButtonConnected; 64 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/core/UserWalletList.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import WAL from 'eos-transit'; 3 | import { NoContent } from '../shared/NoContent'; 4 | import { WalletList } from '../shared/wallets/WalletList'; 5 | 6 | const { accessContext } = WAL; 7 | 8 | export function UserWalletList() { 9 | const wallets = accessContext.getWallets(); 10 | 11 | if (!wallets.length) { 12 | return ( 13 | 17 | ); 18 | } 19 | 20 | return ( 21 | wallet.terminate()} 24 | onItemLogoutClick={wallet => wallet.terminate()} 25 | onItemReconnectClick={wallet => wallet.connect()} 26 | /> 27 | ); 28 | } 29 | 30 | export default UserWalletList; 31 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/globalStyles.ts: -------------------------------------------------------------------------------- 1 | import { injectGlobal } from 'emotion'; 2 | 3 | export function applyGlobalStyles() { 4 | return injectGlobal` 5 | body { 6 | margin: 0; 7 | padding: 0; 8 | font-family: 'Helvetica', 'Helvetica Neue', sans-serif; 9 | -webkit-font-smoothing: antialiased; 10 | background-color: #21262f; 11 | color: white; 12 | } 13 | 14 | a { 15 | color: #9c73d7; 16 | } 17 | 18 | a:hover, 19 | a:focus, 20 | a:active { 21 | color: white; 22 | } 23 | `; 24 | } 25 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { render } from 'react-dom'; 3 | import { BrowserRouter as Router } from 'react-router-dom'; 4 | import 'minireset.css'; 5 | import './initDefaultAccessContext'; 6 | import AppRoutes from './AppRoutes'; 7 | import { applyGlobalStyles } from './globalStyles'; 8 | import AccessContextSubscribe from 'AccessContextSubscribe'; 9 | 10 | applyGlobalStyles(); 11 | 12 | const Root = () => ( 13 | 14 | {() => ( 15 | 16 | 17 | 18 | )} 19 | 20 | ); 21 | 22 | render(, document.getElementById('root')); 23 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/EosLogo.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export function EosLogo() { 4 | return ( 5 | 9 | 10 | 16 | 17 | 21 | 25 | 29 | 30 | 31 | 32 | 33 | ); 34 | } 35 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/LogoLink.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import { NavLink, NavLinkProps } from 'react-router-dom'; 4 | 5 | export const LogoLinkRoot = styled(NavLink)({ 6 | display: 'flex', 7 | alignItems: 'center', 8 | justifyContent: 'center', 9 | width: 45, 10 | height: 45, 11 | fontSize: 12, 12 | backgroundColor: 'rgba(255, 255, 255, 0.1)', 13 | color: 'white', 14 | textDecoration: 'none', 15 | textTransform: 'uppercase', 16 | borderRadius: '50%', 17 | transition: 'all 0.2s', 18 | 19 | '&:hover': { 20 | backgroundColor: 'rgba(255, 255, 255, 0.25)', 21 | textDecoration: 'none' 22 | } 23 | }); 24 | 25 | export function LogoLink(props: NavLinkProps) { 26 | return EOS; 27 | } 28 | 29 | export default LogoLink; 30 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/NoContent.tsx: -------------------------------------------------------------------------------- 1 | import React, { ComponentType } from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | const NoContentRoot = styled('div')({ 5 | flex: 1, 6 | display: 'flex', 7 | alignItems: 'stretch', 8 | justifyContent: 'stretch', 9 | // padding: '10px' 10 | }); 11 | 12 | const NoContentFrame = styled('div')({ 13 | flex: 1, 14 | display: 'flex', 15 | flexDirection: 'column', 16 | alignItems: 'center', 17 | justifyContent: 'center', 18 | padding: '50px 20px', 19 | border: '1px dashed rgba(255, 255, 255, 0.3)', 20 | textAlign: 'center' 21 | }); 22 | 23 | const NoContentIcon = styled('div')({ 24 | fontSize: 36, 25 | color: 'rgba(255, 255, 255, 0.8)', 26 | 27 | '&:not(:last-child)': { 28 | marginBottom: 20 29 | } 30 | }); 31 | 32 | const Message = styled('div')({ 33 | fontSize: 14, 34 | color: 'rgba(255, 255, 255, 1)', 35 | lineHeight: 1.2, 36 | 37 | '&:not(:last-child)': { 38 | marginBottom: 10 39 | } 40 | }); 41 | 42 | const Sublabel = styled('div')({ 43 | fontSize: 12, 44 | color: 'rgba(255, 255, 255, 0.4)', 45 | lineHeight: 1.2 46 | }); 47 | 48 | export interface Props { 49 | className?: string; 50 | message: string; 51 | note?: string; 52 | icon?: ComponentType; 53 | } 54 | 55 | export function NoContent({ icon, message, note, className }: Props) { 56 | const Icon = icon; 57 | 58 | return ( 59 | 60 | 61 | {Icon && ( 62 | 63 | 64 | 65 | )} 66 | {message} 67 | {note} 68 | 69 | 70 | ); 71 | } 72 | 73 | export default NoContent; 74 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/buttons/CloseButton.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import { IoIosClose } from 'react-icons/io'; 4 | 5 | export interface CloseButtonProps { 6 | onClick?: (event: any) => void; 7 | size: number; 8 | } 9 | 10 | export const CloseButtonRoot = styled('div')( 11 | { 12 | display: 'inline-flex', 13 | alignItems: 'center', 14 | justifyContent: 'center', 15 | border: 'none', 16 | outline: 'none', 17 | backgroundColor: 'rgba(255, 255, 255, 0.02)', 18 | color: 'white', 19 | transition: 'all 0.2s', 20 | 21 | '&:hover': { 22 | backgroundColor: 'rgba(255, 255, 255, 0.07)', 23 | color: '#26c5de', 24 | cursor: 'pointer' 25 | } 26 | }, 27 | ({ size }: CloseButtonProps) => ({ 28 | width: size, 29 | height: size, 30 | fontSize: size * 0.8, 31 | 32 | '&:not(:last-child)': { 33 | marginRight: size / 4 34 | } 35 | }) 36 | ); 37 | 38 | export function CloseButton({ onClick, size }: Partial) { 39 | return ( 40 | 41 | 42 | 43 | ); 44 | } 45 | 46 | export default CloseButton; 47 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/buttons/GoButton.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export const GoButton = styled('button')({ 4 | borderRadius: 5, 5 | border: 'none', 6 | boxShadow: 'none', 7 | backgroundColor: '#1a73e8', 8 | color: "#FFFFFF", 9 | textDecoration: 'none', 10 | width: 50, 11 | height: 50, 12 | textAlign: 'center', 13 | margin:5 14 | }) 15 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/dropdown/Dropdown.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component, ReactNode } from 'react'; 2 | import onClickOutside, { InjectedOnClickOutProps } from 'react-onclickoutside'; 3 | import { DropdownContainer } from './DropdownContainer'; 4 | 5 | export interface DropdownChildrenFnArg { 6 | isExpanded: boolean; 7 | toggle: () => void; 8 | } 9 | 10 | export interface DropdownProps { 11 | children?: (dropdownState: DropdownChildrenFnArg) => ReactNode; 12 | isExpanded?: boolean; // TODO: Handle passed force-state 13 | closesOn?: string; // TODO: Type more precisely and implement 14 | } 15 | 16 | export interface State { 17 | isExpanded: boolean; 18 | } 19 | 20 | export class Dropdown extends Component< 21 | DropdownProps & InjectedOnClickOutProps, 22 | State 23 | > { 24 | state = { isExpanded: false }; 25 | 26 | toggle = () => { 27 | this.setState(state => ({ isExpanded: !state.isExpanded })); 28 | }; 29 | 30 | handleClickOutside = (event: any) => { 31 | if (!this.props.closesOn || this.props.closesOn === 'clickOutside') { 32 | this.setState({ isExpanded: false }); 33 | } 34 | }; 35 | 36 | render() { 37 | const { toggle } = this; 38 | const { isExpanded } = this.state; 39 | const { children } = this.props; 40 | 41 | return ( 42 | 43 | {children ? children({ isExpanded, toggle }) : null} 44 | 45 | ); 46 | } 47 | } 48 | 49 | export default onClickOutside(Dropdown); 50 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/dropdown/DropdownContainer.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export const DropdownContainer = styled('div')({ 4 | position: 'relative', 5 | display: 'inline-flex' 6 | }); 7 | 8 | DropdownContainer.displayName = 'DropdownContainer'; 9 | 10 | export default DropdownContainer; 11 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/dropdown/DropdownContent.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export interface Props { 4 | visible?: boolean; 5 | alignRight?: boolean; 6 | } 7 | 8 | export const DropdownContent = styled('div')( 9 | { 10 | position: 'absolute', 11 | zIndex: 20, 12 | top: '100%', 13 | borderRadius: 0, 14 | borderWidth: 0, 15 | backgroundColor: '#171c24', 16 | color: 'white', 17 | boxShadow: '0 5px 30px -8px rgba(0, 0, 0, 0.5)', 18 | transform: 'scale(0)', 19 | transition: 'all 0.2s' 20 | }, 21 | ({ alignRight, visible }: Props) => { 22 | return { 23 | display: 'block', 24 | visibility: visible ? 'visible' : 'hidden', 25 | // display: visible ? 'block' : 'none', 26 | right: alignRight ? 0 : 'auto', 27 | opacity: visible ? 1 : 0, 28 | transform: visible ? 'scale(1) scaleY(1)' : 'scaleX(0.95) scaleY(0.9)', 29 | transformOrigin: 'top right' 30 | }; 31 | } 32 | ); 33 | 34 | DropdownContent.displayName = 'DropdownContent'; 35 | 36 | export default DropdownContent; 37 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/dropdown/DropdownTrigger.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactNode, MouseEvent } from 'react'; 2 | 3 | export interface Props { 4 | children?: ReactNode; 5 | onTriggerClick?: (event: MouseEvent) => void; 6 | } 7 | 8 | export function DropdownTrigger({ children, onTriggerClick }: Props) { 9 | return
{children}
; 10 | } 11 | 12 | export default DropdownTrigger; 13 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/dropdown/index.ts: -------------------------------------------------------------------------------- 1 | import Dropdown from './Dropdown'; 2 | export { Dropdown }; 3 | export * from './DropdownContainer'; 4 | export * from './DropdownContent'; 5 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/forms/FieldLabel.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export const FieldLabel = styled('label')({ 4 | display: 'block', 5 | marginBottom: 8, 6 | fontSize: 13 7 | }); 8 | 9 | export default FieldLabel; 10 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/forms/FormActions.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export const FormActions = styled('div')({ 4 | marginBottom: 20 5 | }); 6 | 7 | FormActions.displayName = 'FormActions'; 8 | 9 | export default FormActions; 10 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/forms/FormElement.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export const FormElement = styled('div')({ 4 | marginBottom: 25 5 | }); 6 | 7 | export default FormElement; 8 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/forms/controls/Input.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export const Input = styled('input')({ 4 | padding: 18, 5 | fontSize: 16, 6 | borderStyle: 'solid', 7 | borderWidth: 1, 8 | // borderBottomWidth: 1, 9 | borderColor: 'rgba(255, 255, 255, 0.3)', 10 | // borderColor: 'rgba(255, 255, 255, 0.45)', 11 | borderRadius: 2, 12 | color: 'white', 13 | backgroundColor: 'transparent', 14 | outline: 'none', 15 | transition: 'all 0.2s', 16 | 17 | '&:focus': { 18 | borderColor: '#26c5df' 19 | }, 20 | 21 | '&:not([type=checkbox]):not([type=file])': { 22 | width: '100%' 23 | }, 24 | 25 | '&[disabled]': { 26 | backgroundColor: 'rgba(0, 0, 0, 0.2)', 27 | color: 'rgba(255, 255, 255, 0.3)' 28 | } 29 | }); 30 | 31 | Input.displayName = 'Input'; 32 | 33 | export default Input; 34 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/forms/index.ts: -------------------------------------------------------------------------------- 1 | export * from './FormElement'; 2 | export * from './FieldLabel'; 3 | export * from './FormActions'; 4 | 5 | // Styled controls 6 | 7 | export * from './controls/Input'; 8 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/helpers.ts: -------------------------------------------------------------------------------- 1 | export function toNumber(input?: string) { 2 | if (!input) return 0; 3 | const chunks = input.split(' '); 4 | if (!chunks[0]) return 0; 5 | return Number(chunks[0]); 6 | } 7 | 8 | export const ProviderHasPin = (providerId:string) => { 9 | switch (providerId) 10 | { 11 | case 'Metro': 12 | return true 13 | default: 14 | return false; 15 | } 16 | } 17 | 18 | export const REGEX = { 19 | NULL_WHITESPACE: /^\s*$/ 20 | } 21 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/icons/SpinnerIcon.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled, { keyframes } from 'react-emotion'; 3 | 4 | const spinAnimation = keyframes({ 5 | '0%': { transform: `rotate(0deg)` }, 6 | '100%': { transform: `rotate(359deg)` } 7 | }); 8 | 9 | export interface SpinnerIconProps { 10 | size: number; 11 | } 12 | 13 | export const SpinnerIconRoot = styled('div')( 14 | { 15 | display: 'inline-flex', 16 | 17 | '&:after': { 18 | content: '" "', 19 | display: 'block', 20 | margin: 1, 21 | borderRadius: '50%', 22 | border: '2px solid #fff', 23 | borderColor: '#fff transparent #fff transparent', 24 | animation: `${spinAnimation} 1.2s infinite linear` 25 | } 26 | }, 27 | ({ size }: SpinnerIconProps) => ({ 28 | '&:after': { 29 | width: size, 30 | height: size 31 | }, 32 | 33 | '&:not(:last-child)': { 34 | marginRight: size / 2 35 | } 36 | }) 37 | ); 38 | 39 | export function SpinnerIcon({ size }: Partial) { 40 | return ; 41 | } 42 | 43 | export default SpinnerIcon; 44 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/providers/Provider.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import MetrolPinScreen from './metro/MetroPinScreen' 3 | import {ProviderProps} from './ProviderTypes' 4 | 5 | const Provider = (props: ProviderProps) => { 6 | 7 | switch(props.ProviderId) 8 | { 9 | case 'Metro' : 10 | { 11 | return 12 | } 13 | default : 14 | { 15 | return null 16 | } 17 | } 18 | } 19 | 20 | export default Provider -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/providers/ProviderTypes.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | export interface ProviderProps { 4 | onSelect?: (pin: any) => void; 5 | ProviderId: string; 6 | } -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/screen/ScreenContent.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export const ScreenContent = styled('div')({ 4 | flex: 1, 5 | display: 'flex', 6 | flexDirection: 'column', 7 | alignItems: 'stretch', 8 | justifyContent: 'stretch' 9 | }); 10 | 11 | export const ScreenContentHeader = styled('header')({ 12 | display: 'flex', 13 | padding: '25px 30px' 14 | }); 15 | 16 | export const ScreenContentHeaderMain = styled('div')({ 17 | flex: 1 18 | }); 19 | 20 | export interface ScreenContentBodyProps { 21 | flex?: boolean; 22 | } 23 | 24 | export const ScreenContentBody = styled('main')( 25 | { 26 | flex: 1, 27 | margin: '0 auto', 28 | padding: '30px 0' 29 | }, 30 | ({ flex }: ScreenContentBodyProps) => ({ 31 | display: flex !== false ? 'flex' : 'block' 32 | }) 33 | ); 34 | 35 | export interface ScreenContentBodyContainerProps { 36 | flex?: boolean; 37 | } 38 | 39 | export const ScreenContentBodyContainer = styled('div')( 40 | { 41 | maxWidth: 480, 42 | width: 480 43 | }, 44 | ({ flex }: ScreenContentBodyContainerProps) => ({ 45 | display: flex !== false ? 'flex' : 'block', 46 | flexDirection: 'column' 47 | }) 48 | ); 49 | 50 | export const ScreenContentFooter = styled('footer')({}); 51 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/screen/ScreenLayout.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export const ScreenLayout = styled('div')({ 4 | width: '100%', 5 | minHeight: '100vh', 6 | display: 'flex', 7 | flexDirection: 'column', 8 | justifyContent: 'stretch' 9 | }); 10 | 11 | export default ScreenLayout; 12 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ScreenLayout'; 2 | export * from './ScreenContent'; 3 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/transactions/TransactionAddonBlock.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { IoIosArrowDown } from 'react-icons/io'; 3 | import { Wallet } from 'eos-transit'; 4 | import { Dropdown, DropdownContainer, DropdownContent } from '../dropdown'; 5 | import { TransactionAddonButton } from './TransactionAddonButton'; 6 | import TransactionAddonMenu from './TransactionAddonMenu'; 7 | 8 | export interface TransactionAddonBlockProps { 9 | disabled?: boolean; 10 | success?: boolean; 11 | danger?: boolean; 12 | onWalletSelect?: (wallet: Wallet) => void; 13 | } 14 | 15 | export function TransactionAddonBlock({ 16 | disabled, 17 | success, 18 | danger, 19 | onWalletSelect 20 | }: TransactionAddonBlockProps) { 21 | return disabled ? ( 22 | 23 | 24 | 25 | ) : ( 26 | 27 | {({ isExpanded, toggle }) => ( 28 | 29 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | )} 42 | 43 | ); 44 | } 45 | 46 | export default TransactionAddonBlock; 47 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/transactions/TransactionAddonMenu.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import styled from 'react-emotion'; 3 | import WAL, { Wallet } from 'eos-transit'; 4 | import { TransactionAddonMenuItem } from './TransactionAddonMenuItem'; 5 | import WalletStateSubscribe from 'WalletStateSubscribe'; 6 | 7 | // Visual components 8 | 9 | const TransactionAddonMenuRoot = styled('div')({ 10 | minWidth: 250, 11 | width: 330, 12 | padding: '8px' 13 | }); 14 | 15 | const TransactionAddonMenuHeader = styled('header')({ 16 | padding: '5px 0', 17 | fontSize: 11, 18 | fontWeight: 300, 19 | color: 'white', 20 | textTransform: 'uppercase', 21 | marginBottom: 5 22 | }); 23 | 24 | // Exported component 25 | 26 | export interface TransactionAddonMenuProps { 27 | onWalletSelect?: (selectedWallet: Wallet) => void; 28 | } 29 | 30 | export class TransactionAddonMenu extends Component { 31 | handleItemSelect = (wallet: Wallet) => { 32 | const { onWalletSelect } = this.props; 33 | if (typeof onWalletSelect === 'function') { 34 | onWalletSelect(wallet); 35 | } 36 | }; 37 | 38 | getActiveWallets = () => { 39 | return WAL.accessContext.getActiveWallets(); 40 | }; 41 | 42 | render() { 43 | const { getActiveWallets, handleItemSelect } = this; 44 | const activeWallets = getActiveWallets(); 45 | 46 | return ( 47 | 48 | Run with wallet: 49 | {activeWallets.map((wallet, i) => ( 50 | 51 | {() => } 52 | 53 | ))} 54 | 55 | ); 56 | } 57 | } 58 | 59 | export default TransactionAddonMenu; 60 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/transactions/types.ts: -------------------------------------------------------------------------------- 1 | import { Wallet } from 'eos-transit'; 2 | 3 | export interface TransactionStatus { 4 | inProgress?: boolean; 5 | progressStatus?: string; 6 | success?: boolean; 7 | successMessage?: string; 8 | error?: boolean; 9 | errorMessage?: string; 10 | } 11 | 12 | export interface TransactionInfo { 13 | id?: string; 14 | // TODO: Other data 15 | } 16 | 17 | export interface TransactionModel { 18 | wallet: Wallet; 19 | amount: number; 20 | receiverName: string; 21 | currency: string; 22 | transactionStatus: TransactionStatus; 23 | transactionInfo?: TransactionInfo; 24 | } 25 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/wallets/WalletProviderIcon.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { IoIosUnlock } from 'react-icons/io'; 3 | import { FiCopy } from 'react-icons/fi'; 4 | import { ScatterLogo } from '../ScatterLogo'; 5 | import { MetroLogo } from '../MetroLogo'; 6 | 7 | const defaultIcon = IoIosUnlock; 8 | 9 | const providerIcons = { 10 | 'eos-metro': MetroLogo, 11 | 'scatter-desktop': ScatterLogo, 12 | 'paste-the-private-key': FiCopy 13 | }; 14 | 15 | interface WalletProviderIconProps { 16 | providerId?: string; 17 | } 18 | 19 | export function WalletProviderIcon({ providerId }: WalletProviderIconProps) { 20 | const IconComponent = 21 | (providerId && providerIcons[providerId]) || defaultIcon; 22 | 23 | return ; 24 | } 25 | 26 | export default WalletProviderIcon; 27 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/src/shared/wallets/types.ts: -------------------------------------------------------------------------------- 1 | export interface WalletConnectionStatus { 2 | connecting?: boolean; 3 | connected: boolean; 4 | error?: boolean; 5 | errorMessage?: string; 6 | } 7 | 8 | export interface WalletProviderInfo { 9 | id: string; 10 | name?: string; 11 | shortName?: string; 12 | description?: string; 13 | } 14 | 15 | export interface WalletInfo { 16 | accountName: string; 17 | accountAuthority?: string; 18 | publicKey?: string; 19 | eosBalance?: number; 20 | ram?: number; 21 | cpu?: number; 22 | net?: number; 23 | } 24 | 25 | export interface WalletModel { 26 | providerInfo: WalletProviderInfo; 27 | connectionStatus: WalletConnectionStatus; 28 | walletInfo?: WalletInfo; 29 | } 30 | -------------------------------------------------------------------------------- /examples/transit-electron-dualbuild/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "./src", 4 | "target": "es5", 5 | "lib": [ 6 | "dom", 7 | "dom.iterable", 8 | "esnext" 9 | ], 10 | "allowJs": true, 11 | "skipLibCheck": true, 12 | "esModuleInterop": true, 13 | "allowSyntheticDefaultImports": true, 14 | "strict": false, 15 | "forceConsistentCasingInFileNames": true, 16 | "module": "esnext", 17 | "moduleResolution": "node", 18 | "resolveJsonModule": true, 19 | "isolatedModules": true, 20 | "noEmit": true, 21 | "jsx": "preserve", 22 | "noImplicitReturns": true, 23 | "noImplicitThis": true, 24 | "noImplicitAny": true, 25 | "strictNullChecks": true, 26 | "suppressImplicitAnyIndexErrors": true, 27 | "noUnusedLocals": false 28 | }, 29 | "include": [ 30 | "src" 31 | ] 32 | } -------------------------------------------------------------------------------- /examples/transit-react-basic/.env.local: -------------------------------------------------------------------------------- 1 | PORT=3300 2 | BROWSER=none 3 | -------------------------------------------------------------------------------- /examples/transit-react-basic/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # testing 7 | /coverage 8 | 9 | # production 10 | /build 11 | 12 | # misc 13 | .DS_Store 14 | # .env.local 15 | .env.development.local 16 | .env.test.local 17 | .env.production.local 18 | 19 | npm-debug.log* 20 | yarn-debug.log* 21 | yarn-error.log* 22 | -------------------------------------------------------------------------------- /examples/transit-react-basic/ScatterNetworkSettings.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-react-basic/ScatterNetworkSettings.jpg -------------------------------------------------------------------------------- /examples/transit-react-basic/Scatter_AddAccount1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-react-basic/Scatter_AddAccount1.jpg -------------------------------------------------------------------------------- /examples/transit-react-basic/Scatter_AddAccount2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-react-basic/Scatter_AddAccount2.jpg -------------------------------------------------------------------------------- /examples/transit-react-basic/Scatter_AddAccount3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-react-basic/Scatter_AddAccount3.jpg -------------------------------------------------------------------------------- /examples/transit-react-basic/Scatter_AddAccount4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-react-basic/Scatter_AddAccount4.jpg -------------------------------------------------------------------------------- /examples/transit-react-basic/Scatter_AddAccount5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-react-basic/Scatter_AddAccount5.jpg -------------------------------------------------------------------------------- /examples/transit-react-basic/Transit_DemoVideo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-react-basic/Transit_DemoVideo.jpg -------------------------------------------------------------------------------- /examples/transit-react-basic/TransportU2F.js.patch: -------------------------------------------------------------------------------- 1 | --- TransportU2F.js 2019-02-05 14:51:58.052501700 -0500 2 | +++ TransportU2F_new.js 2019-02-05 14:52:20.660241700 -0500 3 | @@ -14,6 +14,8 @@ 4 | 5 | var _hwTransport2 = _interopRequireDefault(_hwTransport); 6 | 7 | +var regeneratorRuntime = require("@babel/runtime/regenerator"); 8 | + 9 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 10 | 11 | function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } 12 | -------------------------------------------------------------------------------- /examples/transit-react-basic/Transportwebauthn.js.patch: -------------------------------------------------------------------------------- 1 | --- TransportWebAuthn.js 1985-10-26 03:15:00.000000000 -0500 2 | +++ TransportWebAuthnMod.js 2019-05-02 10:21:29.013725600 -0400 3 | @@ -12,6 +12,8 @@ 4 | 5 | var _errors = require("@ledgerhq/errors"); 6 | 7 | +var regeneratorRuntime = require("@babel/runtime/regenerator"); 8 | + 9 | var _scrambling = require("@ledgerhq/devices/lib/scrambling"); 10 | 11 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 12 | @@ -179,4 +181,4 @@ 13 | }; 14 | 15 | exports.default = TransportWebAuthn; 16 | -//# sourceMappingURL=TransportWebAuthn.js.map 17 | \ No newline at end of file 18 | +//# sourceMappingURL=TransportWebAuthn.js.map 19 | -------------------------------------------------------------------------------- /examples/transit-react-basic/images.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.svg' 2 | declare module '*.png' 3 | declare module '*.jpg' 4 | -------------------------------------------------------------------------------- /examples/transit-react-basic/patch-TransportU2F.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | cd "$(dirname "$0")"; 3 | echo "Patching TransportU2F.js ..." 4 | patch node_modules/@ledgerhq/hw-transport-u2f/lib/TransportU2F.js TransportU2F.js.patch 5 | -------------------------------------------------------------------------------- /examples/transit-react-basic/patch-Transportwebauthn.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | cd "$(dirname "$0")"; 3 | echo "Patching TransportWebAuthn.js ..." 4 | patch node_modules/@ledgerhq/hw-transport-webauthn/lib/TransportWebAuthn.js Transportwebauthn.js.patch 5 | -------------------------------------------------------------------------------- /examples/transit-react-basic/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/examples/transit-react-basic/public/favicon.ico -------------------------------------------------------------------------------- /examples/transit-react-basic/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 12 | 13 | 22 | WAL:E / React Transfer App Example 23 | 24 | 25 | 28 |
29 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /examples/transit-react-basic/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "EOS UAL Example", 3 | "name": "EOS UAL React App Example", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/AccessContextSubscribe.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component, ReactNode } from 'react'; 2 | import WAL, { WalletAccessContext, StateUnsubscribeFn } from 'eos-transit'; 3 | 4 | export interface AccessContextSubscribeProps { 5 | children?: (accessContext: WalletAccessContext) => ReactNode; 6 | } 7 | 8 | export class AccessContextSubscribe extends Component { 9 | unsubscribe?: StateUnsubscribeFn; 10 | unmounted?: boolean; 11 | 12 | handleAccessContextUpdate = () => { 13 | if (!this.unmounted) this.forceUpdate(); 14 | }; 15 | 16 | componentDidMount() { 17 | this.unsubscribe = WAL.accessContext.subscribe(this.handleAccessContextUpdate); 18 | } 19 | 20 | componentWillUnmount() { 21 | this.unmounted = true; 22 | const { unsubscribe } = this; 23 | if (typeof unsubscribe === 'function') unsubscribe(); 24 | } 25 | 26 | render() { 27 | const { children } = this.props; 28 | if (typeof children !== 'function') return null; 29 | return children(WAL.accessContext); 30 | } 31 | } 32 | 33 | export default AccessContextSubscribe; 34 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/AppRoutes.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Route, Switch } from 'react-router-dom'; 3 | import LoginScreen from './login/LoginScreen'; 4 | import AuthenticatedRoute from './core/AuthenticatedRoute'; 5 | import { AppLayout } from './core/AppLayout'; 6 | import { HomeScreen } from './HomeScreen'; 7 | import { TestScreen } from './TestScreen'; 8 | 9 | export function AppRoutes() { 10 | return ( 11 | 12 | 13 | 14 | 15 | {() => ( 16 | 17 | 18 | 19 | 20 | )} 21 | 22 | /> 23 | {/* */} 24 | 25 | 26 | ); 27 | } 28 | 29 | export default AppRoutes; 30 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/HomeScreen.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PaymentForm from './PaymentForm'; 3 | 4 | export function HomeScreen() { 5 | return ; 6 | } 7 | 8 | export default HomeScreen; 9 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/TestScreen.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ArbSign from './ArbSign'; 3 | 4 | export function TestScreen() { 5 | return ; 6 | } 7 | 8 | export default TestScreen; 9 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/WalletStateSubscribe.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component, ReactNode } from 'react'; 2 | import { StateUnsubscribeFn, Wallet, WalletState } from 'eos-transit'; 3 | 4 | export interface WalletStateSubscribeProps { 5 | wallet: Wallet; 6 | children?: (walletState: WalletState) => ReactNode; 7 | } 8 | 9 | export class WalletStateSubscribe extends Component { 10 | unsubscribe?: StateUnsubscribeFn; 11 | unmounted?: boolean; 12 | 13 | handleWalletStateUpdate = () => { 14 | if (!this.unmounted) this.forceUpdate(); 15 | }; 16 | 17 | componentDidMount() { 18 | const { wallet } = this.props; 19 | this.unsubscribe = wallet.subscribe(this.handleWalletStateUpdate); 20 | } 21 | 22 | componentWillUnmount() { 23 | this.unmounted = true; 24 | const { unsubscribe } = this; 25 | if (typeof unsubscribe === 'function') unsubscribe(); 26 | } 27 | 28 | render() { 29 | const { children, wallet } = this.props; 30 | if (typeof children !== 'function') return null; 31 | return children(wallet.state); 32 | } 33 | } 34 | 35 | export default WalletStateSubscribe; 36 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/config.ts: -------------------------------------------------------------------------------- 1 | const env = process.env; 2 | 3 | export const config = { 4 | defaultNetwork: env.REACT_APP_DEFAULT_NETWORK 5 | }; 6 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/core/AppLayout.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactNode } from 'react'; 2 | import { 3 | ScreenLayout, 4 | ScreenContentHeader, 5 | ScreenContentBody, 6 | ScreenContentBodyContainer, 7 | ScreenContentHeaderMain 8 | } from '../shared/screen'; 9 | import { LogoLink } from '../shared/LogoLink'; 10 | import UserBlock from './UserBlock'; 11 | 12 | export interface AppLayoutProps { 13 | children?: ReactNode; 14 | } 15 | 16 | export function AppLayout({ children }: AppLayoutProps) { 17 | return ( 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | {children} 28 | 29 | 30 | ); 31 | } 32 | 33 | export default AppLayout; 34 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/core/AuthenticatedRoute.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component, ReactNode } from 'react'; 2 | import { 3 | Route, 4 | Redirect, 5 | withRouter, 6 | RouteComponentProps 7 | } from 'react-router-dom'; 8 | import WAL from 'eos-transit'; 9 | 10 | export interface Props extends RouteComponentProps { 11 | component?: Component; 12 | children?: (props: any) => ReactNode; 13 | otherwiseRedirectTo?: string; 14 | } 15 | 16 | export function AuthenticatedRoute({ 17 | children, 18 | component, 19 | otherwiseRedirectTo, 20 | ...rest 21 | }: Props) { 22 | function renderComponent(props: any) { 23 | if (typeof children === 'function') { 24 | return children(props); 25 | } 26 | 27 | if (Component) { 28 | return ; 29 | } 30 | 31 | return null; 32 | } 33 | 34 | return ( 35 | { 38 | const isLoggedIn = !!WAL.accessContext.getActiveWallets().length; 39 | if (isLoggedIn) return renderComponent(props); 40 | 41 | return ( 42 | 48 | ); 49 | }} 50 | /> 51 | ); 52 | } 53 | 54 | export default withRouter(AuthenticatedRoute); 55 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/core/UserAvatar.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import { FiUser } from 'react-icons/fi'; 4 | 5 | const UserAvatarRoot = styled('div')({ 6 | display: 'flex', 7 | alignItems: 'center', 8 | justifyContent: 'center', 9 | position: 'relative', 10 | width: 30, 11 | height: 30, 12 | fontSize: 20, 13 | // backgroundColor: 'rgba(0, 0, 0, 0.3)', 14 | borderRadius: '50%', 15 | overflow: 'hidden', 16 | 17 | '& img': { 18 | position: 'absolute', 19 | top: 0, 20 | left: 0, 21 | width: '100%', 22 | maxWidth: '120%', 23 | maxHeight: '120%', 24 | textAlign: 'center' 25 | } 26 | }); 27 | 28 | export interface Props { 29 | children?: any; 30 | isActive?: boolean; 31 | isLoading?: boolean; 32 | onClick?: () => void; 33 | url?: string; 34 | } 35 | 36 | export function UserAvatar(props: Props) { 37 | const { url } = props; 38 | 39 | return ( 40 | {url ? : } 41 | ); 42 | } 43 | 44 | export default UserAvatar; 45 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/core/UserBlock.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactNode } from 'react'; 2 | import WAL from 'eos-transit'; 3 | import { UserDropdown } from './UserDropdown'; 4 | 5 | const { accessContext } = WAL; 6 | 7 | export interface UserBlockProps { 8 | children?: ReactNode; 9 | username?: string; 10 | } 11 | 12 | export function UserBlock({ children, username }: UserBlockProps) { 13 | return ; 14 | } 15 | 16 | export function UserBlockConnected({ children }: UserBlockProps) { 17 | const isLoggedIn = !!accessContext.getActiveWallets().length; 18 | if (!isLoggedIn) return null; 19 | 20 | const auth = accessContext.getActiveWallets()[0].auth; 21 | const username = (auth && `${auth.accountName}@${auth.permission}`) || void 0; 22 | 23 | return {children}; 24 | } 25 | 26 | export default UserBlockConnected; 27 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/core/UserDropdown.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { 3 | Dropdown, 4 | DropdownContainer, 5 | DropdownContent 6 | } from '../shared/dropdown'; 7 | import UserMedia from './UserMedia'; 8 | import { UserMenu } from './UserMenu'; 9 | 10 | export interface UserDropdownProps { 11 | username?: string; 12 | } 13 | 14 | export function UserDropdown({ username }: UserDropdownProps) { 15 | return ( 16 | 17 | {({ isExpanded, toggle }: any) => ( 18 | 19 | 26 | 27 | 28 | 29 | 30 | 31 | )} 32 | 33 | ); 34 | } 35 | 36 | export default UserDropdown; 37 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/core/UserMenuAddWalletButton.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import { IoIosAddCircleOutline } from 'react-icons/io'; 4 | 5 | export interface UserMenuAddWalletButtonProps { 6 | onClick?: (event: any) => void; 7 | } 8 | 9 | export const UserMenuAddWalletButtonRoot = styled('div')({ 10 | display: 'flex', 11 | alignItems: 'center', 12 | width: '100%', 13 | border: '1px dashed #424a56', 14 | borderRadius: 1, 15 | fontSize: 14, 16 | backgroundColor: '#20252f', 17 | color: 'white', 18 | textAlign: 'center', 19 | outline: 'none', 20 | transition: 'all 0.2s', 21 | 22 | '&:hover': { 23 | backgroundColor: '#2e3542', 24 | color: 'white', 25 | cursor: 'pointer', 26 | borderColor: '#346f77' 27 | }, 28 | 29 | '&:active': { 30 | backgroundColor: '#26c5df', 31 | borderColor: 'transparent' 32 | } 33 | }); 34 | 35 | const iconWidth = 50; 36 | 37 | export const UserMenuAddWalletButtonText = styled('div')({ 38 | flex: 1, 39 | padding: `13px ${iconWidth + 13}px 13px 0`, 40 | textAlign: 'center' 41 | }); 42 | 43 | export const UserMenuAddWalletButtonIcon = styled('div')({ 44 | display: 'flex', 45 | alignItems: 'center', 46 | justifyContent: 'center', 47 | width: iconWidth, 48 | padding: 13, 49 | fontSize: 24, 50 | opacity: 0.5 51 | }); 52 | 53 | export function UserMenuAddWalletButton({ 54 | onClick 55 | }: UserMenuAddWalletButtonProps) { 56 | return ( 57 | 58 | 59 | 60 | 61 | 62 | Add Wallet 63 | 64 | ); 65 | } 66 | 67 | export default UserMenuAddWalletButton; 68 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/core/UserMenuLogoutButton.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import WAL from 'eos-transit'; 4 | import { IoIosLogOut } from 'react-icons/io'; 5 | 6 | const { accessContext } = WAL; 7 | 8 | export interface UserMenuLogoutButtonProps { 9 | onClick?: (event: any) => void; 10 | } 11 | 12 | export const UserMenuLogoutButtonRoot = styled('div')({ 13 | display: 'flex', 14 | alignItems: 'center', 15 | justifyContent: 'center', 16 | width: '100%', 17 | border: 'none', 18 | borderRadius: 1, 19 | padding: '10px 20px', 20 | fontSize: 14, 21 | backgroundColor: '#20252f', 22 | color: 'white', 23 | textAlign: 'center', 24 | outline: 'none', 25 | transition: 'all 0.2s', 26 | 27 | '&:hover': { 28 | // backgroundColor: '#2e3542', 29 | backgroundColor: '#98243f', 30 | color: 'white', 31 | cursor: 'pointer' 32 | }, 33 | 34 | '&:active': { 35 | // backgroundColor: '#2e3542', 36 | backgroundColor: '#c3173f' 37 | } 38 | }); 39 | 40 | export const UserMenuLogoutButtonIcon = styled('div')({ 41 | display: 'flex', 42 | alignItems: 'center', 43 | paddingLeft: 10 44 | }); 45 | 46 | export const UserMenuLogoutButtonText = styled('div')({}); 47 | 48 | export function UserMenuLogoutButton({ onClick }: UserMenuLogoutButtonProps) { 49 | return ( 50 | 51 | Logout 52 | 53 | 54 | 55 | 56 | ); 57 | } 58 | 59 | export function UserMenuLogoutButtonConnected() { 60 | return accessContext.terminateAll()} />; 61 | } 62 | 63 | export default UserMenuLogoutButtonConnected; 64 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/core/UserWalletList.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import WAL from 'eos-transit'; 3 | import { NoContent } from '../shared/NoContent'; 4 | import { WalletList } from '../shared/wallets/WalletList'; 5 | 6 | const { accessContext } = WAL; 7 | 8 | export function UserWalletList() { 9 | const wallets = accessContext.getWallets(); 10 | 11 | if (!wallets.length) { 12 | return ( 13 | 17 | ); 18 | } 19 | 20 | return ( 21 | wallet.terminate()} 24 | onItemLogoutClick={wallet => wallet.terminate()} 25 | onItemReconnectClick={wallet => wallet.connect()} 26 | /> 27 | ); 28 | } 29 | 30 | export default UserWalletList; 31 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/globalStyles.ts: -------------------------------------------------------------------------------- 1 | import { injectGlobal } from 'emotion'; 2 | 3 | export function applyGlobalStyles() { 4 | return injectGlobal` 5 | body { 6 | margin: 0; 7 | padding: 0; 8 | font-family: 'Helvetica', 'Helvetica Neue', sans-serif; 9 | -webkit-font-smoothing: antialiased; 10 | background-color: #21262f; 11 | color: white; 12 | } 13 | 14 | a { 15 | color: #9c73d7; 16 | } 17 | 18 | a:hover, 19 | a:focus, 20 | a:active { 21 | color: white; 22 | } 23 | `; 24 | } 25 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { render } from 'react-dom'; 3 | import { BrowserRouter as Router } from 'react-router-dom'; 4 | import 'minireset.css'; 5 | import './initDefaultAccessContext'; 6 | import AppRoutes from './AppRoutes'; 7 | import { applyGlobalStyles } from './globalStyles'; 8 | import AccessContextSubscribe from 'AccessContextSubscribe'; 9 | 10 | applyGlobalStyles(); 11 | 12 | const Root = () => ( 13 | 14 | {() => ( 15 | 16 | 17 | 18 | )} 19 | 20 | ); 21 | 22 | render(, document.getElementById('root')); 23 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/EosLogo.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export function EosLogo() { 4 | return ( 5 | 9 | 10 | 16 | 17 | 21 | 25 | 29 | 30 | 31 | 32 | 33 | ); 34 | } 35 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/LogoLink.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import { NavLink, NavLinkProps } from 'react-router-dom'; 4 | 5 | export const LogoLinkRoot = styled(NavLink)({ 6 | display: 'flex', 7 | alignItems: 'center', 8 | justifyContent: 'center', 9 | width: 45, 10 | height: 45, 11 | fontSize: 12, 12 | backgroundColor: 'rgba(255, 255, 255, 0.1)', 13 | color: 'white', 14 | textDecoration: 'none', 15 | textTransform: 'uppercase', 16 | borderRadius: '50%', 17 | transition: 'all 0.2s', 18 | 19 | '&:hover': { 20 | backgroundColor: 'rgba(255, 255, 255, 0.25)', 21 | textDecoration: 'none' 22 | } 23 | }); 24 | 25 | export function LogoLink(props: NavLinkProps) { 26 | return EOS; 27 | } 28 | 29 | export default LogoLink; 30 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/NoContent.tsx: -------------------------------------------------------------------------------- 1 | import React, { ComponentType } from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | const NoContentRoot = styled('div')({ 5 | flex: 1, 6 | display: 'flex', 7 | alignItems: 'stretch', 8 | justifyContent: 'stretch', 9 | // padding: '10px' 10 | }); 11 | 12 | const NoContentFrame = styled('div')({ 13 | flex: 1, 14 | display: 'flex', 15 | flexDirection: 'column', 16 | alignItems: 'center', 17 | justifyContent: 'center', 18 | padding: '50px 20px', 19 | border: '1px dashed rgba(255, 255, 255, 0.3)', 20 | textAlign: 'center' 21 | }); 22 | 23 | const NoContentIcon = styled('div')({ 24 | fontSize: 36, 25 | color: 'rgba(255, 255, 255, 0.8)', 26 | 27 | '&:not(:last-child)': { 28 | marginBottom: 20 29 | } 30 | }); 31 | 32 | const Message = styled('div')({ 33 | fontSize: 14, 34 | color: 'rgba(255, 255, 255, 1)', 35 | lineHeight: 1.2, 36 | 37 | '&:not(:last-child)': { 38 | marginBottom: 10 39 | } 40 | }); 41 | 42 | const Sublabel = styled('div')({ 43 | fontSize: 12, 44 | color: 'rgba(255, 255, 255, 0.4)', 45 | lineHeight: 1.2 46 | }); 47 | 48 | export interface Props { 49 | className?: string; 50 | message: string; 51 | note?: string; 52 | icon?: ComponentType; 53 | } 54 | 55 | export function NoContent({ icon, message, note, className }: Props) { 56 | const Icon = icon; 57 | 58 | return ( 59 | 60 | 61 | {Icon && ( 62 | 63 | 64 | 65 | )} 66 | {message} 67 | {note} 68 | 69 | 70 | ); 71 | } 72 | 73 | export default NoContent; 74 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/buttons/CloseButton.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import { IoIosClose } from 'react-icons/io'; 4 | 5 | export interface CloseButtonProps { 6 | onClick?: (event: any) => void; 7 | size: number; 8 | } 9 | 10 | export const CloseButtonRoot = styled('div')( 11 | { 12 | display: 'inline-flex', 13 | alignItems: 'center', 14 | justifyContent: 'center', 15 | border: 'none', 16 | outline: 'none', 17 | backgroundColor: 'rgba(255, 255, 255, 0.02)', 18 | color: 'white', 19 | transition: 'all 0.2s', 20 | 21 | '&:hover': { 22 | backgroundColor: 'rgba(255, 255, 255, 0.07)', 23 | color: '#26c5de', 24 | cursor: 'pointer' 25 | } 26 | }, 27 | ({ size }: CloseButtonProps) => ({ 28 | width: size, 29 | height: size, 30 | fontSize: size * 0.8, 31 | 32 | '&:not(:last-child)': { 33 | marginRight: size / 4 34 | } 35 | }) 36 | ); 37 | 38 | export function CloseButton({ onClick, size }: Partial) { 39 | return ( 40 | 41 | 42 | 43 | ); 44 | } 45 | 46 | export default CloseButton; 47 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/dropdown/Dropdown.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component, ReactNode, createContext } from 'react'; 2 | import onClickOutside, { InjectedOnClickOutProps } from 'react-onclickoutside'; 3 | import { DropdownContainer } from './DropdownContainer'; 4 | 5 | export interface DropdownChildrenFnArg { 6 | isExpanded: boolean; 7 | toggle: () => void; 8 | } 9 | 10 | export interface DropdownProps { 11 | children?: (dropdownState: DropdownChildrenFnArg) => ReactNode; 12 | isExpanded?: boolean; // TODO: Handle passed force-state 13 | closesOn?: string; // TODO: Type more precisely and implement 14 | } 15 | 16 | export interface State { 17 | isExpanded: boolean; 18 | } 19 | 20 | export class Dropdown extends Component< 21 | DropdownProps & InjectedOnClickOutProps, 22 | State 23 | > { 24 | state = { isExpanded: false }; 25 | 26 | toggle = () => { 27 | this.setState(state => ({ isExpanded: !state.isExpanded })); 28 | }; 29 | 30 | handleClickOutside = (event: any) => { 31 | if (!this.props.closesOn || this.props.closesOn === 'clickOutside') { 32 | this.setState({ isExpanded: false }); 33 | } 34 | }; 35 | 36 | render() { 37 | const { toggle } = this; 38 | const { isExpanded } = this.state; 39 | const { children } = this.props; 40 | 41 | return ( 42 | 43 | {children ? children({ isExpanded, toggle }) : null} 44 | 45 | ); 46 | } 47 | } 48 | 49 | export default onClickOutside(Dropdown); 50 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/dropdown/DropdownContainer.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export const DropdownContainer = styled('div')({ 4 | position: 'relative', 5 | display: 'inline-flex' 6 | }); 7 | 8 | DropdownContainer.displayName = 'DropdownContainer'; 9 | 10 | export default DropdownContainer; 11 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/dropdown/DropdownContent.tsx: -------------------------------------------------------------------------------- 1 | import styled from 'react-emotion'; 2 | 3 | export interface Props { 4 | visible?: boolean; 5 | alignRight?: boolean; 6 | } 7 | 8 | export const DropdownContent = styled('div')( 9 | { 10 | position: 'absolute', 11 | zIndex: 20, 12 | top: '100%', 13 | borderRadius: 0, 14 | borderWidth: 0, 15 | backgroundColor: '#171c24', 16 | color: 'white', 17 | boxShadow: '0 5px 30px -8px rgba(0, 0, 0, 0.5)', 18 | transform: 'scale(0)', 19 | transition: 'all 0.2s' 20 | }, 21 | ({ alignRight, visible }: Props) => { 22 | return { 23 | display: 'block', 24 | visibility: visible ? 'visible' : 'hidden', 25 | // display: visible ? 'block' : 'none', 26 | right: alignRight ? 0 : 'auto', 27 | opacity: visible ? 1 : 0, 28 | transform: visible ? 'scale(1) scaleY(1)' : 'scaleX(0.95) scaleY(0.9)', 29 | transformOrigin: 'top right' 30 | }; 31 | } 32 | ); 33 | 34 | DropdownContent.displayName = 'DropdownContent'; 35 | 36 | export default DropdownContent; 37 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/dropdown/DropdownTrigger.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactNode, MouseEvent } from 'react'; 2 | 3 | export interface Props { 4 | children?: ReactNode; 5 | onTriggerClick?: (event: MouseEvent) => void; 6 | } 7 | 8 | export function DropdownTrigger({ children, onTriggerClick }: Props) { 9 | return
{children}
; 10 | } 11 | 12 | export default DropdownTrigger; 13 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/dropdown/index.ts: -------------------------------------------------------------------------------- 1 | import Dropdown from './Dropdown'; 2 | export { Dropdown }; 3 | export * from './DropdownContainer'; 4 | export * from './DropdownContent'; 5 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/forms/FieldLabel.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | export const FieldLabel = styled('label')({ 5 | display: 'block', 6 | marginBottom: 8, 7 | fontSize: 13 8 | }); 9 | 10 | export default FieldLabel; 11 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/forms/FormActions.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | export const FormActions = styled('div')({ 5 | marginBottom: 20 6 | }); 7 | 8 | FormActions.displayName = 'FormActions'; 9 | 10 | export default FormActions; 11 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/forms/FormElement.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | export const FormElement = styled('div')({ 5 | marginBottom: 25 6 | }); 7 | 8 | export default FormElement; 9 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/forms/controls/Input.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | export const Input = styled('input')({ 5 | padding: 18, 6 | fontSize: 16, 7 | borderStyle: 'solid', 8 | borderWidth: 1, 9 | // borderBottomWidth: 1, 10 | borderColor: 'rgba(255, 255, 255, 0.3)', 11 | // borderColor: 'rgba(255, 255, 255, 0.45)', 12 | borderRadius: 2, 13 | color: 'white', 14 | backgroundColor: 'transparent', 15 | outline: 'none', 16 | transition: 'all 0.2s', 17 | 18 | '&:focus': { 19 | borderColor: '#26c5df' 20 | }, 21 | 22 | '&:not([type=checkbox]):not([type=file])': { 23 | width: '100%' 24 | }, 25 | 26 | '&[disabled]': { 27 | backgroundColor: 'rgba(0, 0, 0, 0.2)', 28 | color: 'rgba(255, 255, 255, 0.3)' 29 | } 30 | }); 31 | 32 | Input.displayName = 'Input'; 33 | 34 | export default Input; 35 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/forms/index.ts: -------------------------------------------------------------------------------- 1 | export * from './FormElement'; 2 | export * from './FieldLabel'; 3 | export * from './FormActions'; 4 | 5 | // Styled controls 6 | 7 | export * from './controls/Input'; 8 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/helpers.ts: -------------------------------------------------------------------------------- 1 | export function toNumber(input?: string) { 2 | if (!input) return 0; 3 | const chunks = input.split(' '); 4 | if (!chunks[0]) return 0; 5 | return Number(chunks[0]); 6 | } 7 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/icons/SpinnerIcon.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled, { keyframes } from 'react-emotion'; 3 | 4 | const spinAnimation = keyframes({ 5 | '0%': { transform: `rotate(0deg)` }, 6 | '100%': { transform: `rotate(359deg)` } 7 | }); 8 | 9 | export interface SpinnerIconProps { 10 | size: number; 11 | } 12 | 13 | export const SpinnerIconRoot = styled('div')( 14 | { 15 | display: 'inline-flex', 16 | 17 | '&:after': { 18 | content: '" "', 19 | display: 'block', 20 | margin: 1, 21 | borderRadius: '50%', 22 | border: '2px solid #fff', 23 | borderColor: '#fff transparent #fff transparent', 24 | animation: `${spinAnimation} 1.2s infinite linear` 25 | } 26 | }, 27 | ({ size }: SpinnerIconProps) => ({ 28 | '&:after': { 29 | width: size, 30 | height: size 31 | }, 32 | 33 | '&:not(:last-child)': { 34 | marginRight: size / 2 35 | } 36 | }) 37 | ); 38 | 39 | export function SpinnerIcon({ size }: Partial) { 40 | return ; 41 | } 42 | 43 | export default SpinnerIcon; 44 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/screen/ScreenContent.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | export const ScreenContent = styled('div')({ 5 | flex: 1, 6 | display: 'flex', 7 | flexDirection: 'column', 8 | alignItems: 'stretch', 9 | justifyContent: 'stretch' 10 | }); 11 | 12 | export const ScreenContentHeader = styled('header')({ 13 | display: 'flex', 14 | padding: '25px 30px' 15 | }); 16 | 17 | export const ScreenContentHeaderMain = styled('div')({ 18 | flex: 1 19 | }); 20 | 21 | export interface ScreenContentBodyProps { 22 | flex?: boolean; 23 | } 24 | 25 | export const ScreenContentBody = styled('main')( 26 | { 27 | flex: 1, 28 | margin: '0 auto', 29 | padding: '30px 0' 30 | }, 31 | ({ flex }: ScreenContentBodyProps) => ({ 32 | display: flex !== false ? 'flex' : 'block' 33 | }) 34 | ); 35 | 36 | export interface ScreenContentBodyContainerProps { 37 | flex?: boolean; 38 | } 39 | 40 | export const ScreenContentBodyContainer = styled('div')( 41 | { 42 | maxWidth: 480, 43 | width: 480 44 | }, 45 | ({ flex }: ScreenContentBodyContainerProps) => ({ 46 | display: flex !== false ? 'flex' : 'block', 47 | flexDirection: 'column' 48 | }) 49 | ); 50 | 51 | export const ScreenContentFooter = styled('footer')({}); 52 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/screen/ScreenLayout.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | export const ScreenLayout = styled('div')({ 5 | width: '100%', 6 | minHeight: '100vh', 7 | display: 'flex', 8 | flexDirection: 'column', 9 | justifyContent: 'stretch' 10 | }); 11 | 12 | export default ScreenLayout; 13 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ScreenLayout'; 2 | export * from './ScreenContent'; 3 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/transactions/TransactionAddonBlock.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { IoIosArrowDown } from 'react-icons/io'; 3 | import { Wallet } from 'eos-transit'; 4 | import { Dropdown, DropdownContainer, DropdownContent } from '../dropdown'; 5 | import { TransactionAddonButton } from './TransactionAddonButton'; 6 | import TransactionAddonMenu from './TransactionAddonMenu'; 7 | 8 | export interface TransactionAddonBlockProps { 9 | disabled?: boolean; 10 | success?: boolean; 11 | danger?: boolean; 12 | onWalletSelect?: (wallet: Wallet) => void; 13 | } 14 | 15 | export function TransactionAddonBlock({ 16 | disabled, 17 | success, 18 | danger, 19 | onWalletSelect 20 | }: TransactionAddonBlockProps) { 21 | return disabled ? ( 22 | 23 | 24 | 25 | ) : ( 26 | 27 | {({ isExpanded, toggle }) => ( 28 | 29 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | )} 42 | 43 | ); 44 | } 45 | 46 | export default TransactionAddonBlock; 47 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/transactions/TransactionAddonMenu.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import styled from 'react-emotion'; 3 | import WAL, { Wallet } from 'eos-transit'; 4 | import { TransactionAddonMenuItem } from './TransactionAddonMenuItem'; 5 | import WalletStateSubscribe from 'WalletStateSubscribe'; 6 | 7 | // Visual components 8 | 9 | const TransactionAddonMenuRoot = styled('div')({ 10 | minWidth: 250, 11 | width: 330, 12 | padding: '8px' 13 | }); 14 | 15 | const TransactionAddonMenuHeader = styled('header')({ 16 | padding: '5px 0', 17 | fontSize: 11, 18 | fontWeight: 300, 19 | color: 'white', 20 | textTransform: 'uppercase', 21 | marginBottom: 5 22 | }); 23 | 24 | // Exported component 25 | 26 | export interface TransactionAddonMenuProps { 27 | onWalletSelect?: (selectedWallet: Wallet) => void; 28 | } 29 | 30 | export class TransactionAddonMenu extends Component { 31 | handleItemSelect = (wallet: Wallet) => { 32 | const { onWalletSelect } = this.props; 33 | if (typeof onWalletSelect === 'function') { 34 | onWalletSelect(wallet); 35 | } 36 | }; 37 | 38 | getActiveWallets = () => { 39 | return WAL.accessContext.getActiveWallets(); 40 | }; 41 | 42 | render() { 43 | const { getActiveWallets, handleItemSelect } = this; 44 | const activeWallets = getActiveWallets(); 45 | 46 | return ( 47 | 48 | Run with wallet: 49 | {activeWallets.map((wallet, i) => ( 50 | 51 | {() => } 52 | 53 | ))} 54 | 55 | ); 56 | } 57 | } 58 | 59 | export default TransactionAddonMenu; 60 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/transactions/types.ts: -------------------------------------------------------------------------------- 1 | import { Wallet } from 'eos-transit'; 2 | 3 | export interface TransactionStatus { 4 | inProgress?: boolean; 5 | progressStatus?: string; 6 | success?: boolean; 7 | successMessage?: string; 8 | error?: boolean; 9 | errorMessage?: string; 10 | } 11 | 12 | export interface TransactionInfo { 13 | id?: string; 14 | // TODO: Other data 15 | } 16 | 17 | export interface TransactionModel { 18 | wallet: Wallet; 19 | amount: number; 20 | receiverName: string; 21 | currency: string; 22 | transactionStatus: TransactionStatus; 23 | transactionInfo?: TransactionInfo; 24 | } 25 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/wallets/WalletProviderIcon.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { IoIosUnlock } from 'react-icons/io'; 3 | import { FiCopy } from 'react-icons/fi'; 4 | import { ScatterLogo } from '../ScatterLogo'; 5 | import { MetroLogo } from '../MetroLogo'; 6 | 7 | const defaultIcon = IoIosUnlock; 8 | 9 | const providerIcons = { 10 | 'eos-metro': MetroLogo, 11 | 'scatter-desktop': ScatterLogo, 12 | 'paste-the-private-key': FiCopy 13 | }; 14 | 15 | interface WalletProviderIconProps { 16 | providerId?: string; 17 | } 18 | 19 | export function WalletProviderIcon({ providerId }: WalletProviderIconProps) { 20 | const IconComponent = 21 | (providerId && providerIcons[providerId]) || defaultIcon; 22 | 23 | return ; 24 | } 25 | 26 | export default WalletProviderIcon; 27 | -------------------------------------------------------------------------------- /examples/transit-react-basic/src/shared/wallets/types.ts: -------------------------------------------------------------------------------- 1 | export interface WalletConnectionStatus { 2 | connecting?: boolean; 3 | connected: boolean; 4 | error?: boolean; 5 | errorMessage?: string; 6 | } 7 | 8 | export interface WalletProviderInfo { 9 | id: string; 10 | name?: string; 11 | shortName?: string; 12 | description?: string; 13 | } 14 | 15 | export interface WalletInfo { 16 | accountName: string; 17 | accountAuthority?: string; 18 | publicKey?: string; 19 | eosBalance?: number; 20 | ram?: number; 21 | cpu?: number; 22 | net?: number; 23 | } 24 | 25 | export interface WalletModel { 26 | providerInfo: WalletProviderInfo; 27 | connectionStatus: WalletConnectionStatus; 28 | walletInfo?: WalletInfo; 29 | } 30 | -------------------------------------------------------------------------------- /examples/transit-react-basic/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "./src", 4 | "outDir": "./build", 5 | "module": "esnext", 6 | "target": "es5", 7 | "lib": ["dom", "es2017"], 8 | "sourceMap": true, 9 | "allowJs": true, 10 | "jsx": "react", 11 | "moduleResolution": "node", 12 | "rootDir": "src", 13 | "forceConsistentCasingInFileNames": true, 14 | "noImplicitReturns": true, 15 | "noImplicitThis": true, 16 | "noImplicitAny": true, 17 | "strictNullChecks": true, 18 | "suppressImplicitAnyIndexErrors": true, 19 | "noUnusedLocals": false, 20 | "allowSyntheticDefaultImports": true 21 | }, 22 | "exclude": [ 23 | "node_modules", 24 | "build", 25 | "scripts", 26 | "acceptance-tests", 27 | "webpack", 28 | "jest", 29 | "src/setupTests.ts" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /examples/transit-react-basic/tsconfig.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json" 3 | } -------------------------------------------------------------------------------- /examples/transit-react-basic/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/transit-script-tag/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Helvetica Neue', sans-serif; 3 | padding: 40px 50px; 4 | } 5 | 6 | * { 7 | box-sizing: border-box; 8 | } 9 | 10 | h2 { 11 | display: block; 12 | margin: 0 0 8px; 13 | font-size: 20px; 14 | } 15 | 16 | .header { 17 | margin-bottom: 30px; 18 | } 19 | 20 | .subheading { 21 | display: block; 22 | margin: 0 0 10px; 23 | font-size: 12px; 24 | font-weight: normal; 25 | color: #aaa; 26 | } 27 | 28 | .container { 29 | margin: 0 auto; 30 | max-width: 350px; 31 | } 32 | 33 | .form-element { 34 | margin-bottom: 20px; 35 | } 36 | .form-element label { 37 | display: block; 38 | margin-bottom: 5px; 39 | font-size: 10px; 40 | color: #aaa; 41 | text-transform: uppercase; 42 | } 43 | 44 | .input { 45 | display: block; 46 | width: 100%; 47 | min-width: 180px; 48 | padding: 10px 20px; 49 | border: 1px solid #ccc; 50 | border-radius: 0; 51 | font-size: 14px; 52 | font-weight: 300; 53 | color: #252525; 54 | outline: none; 55 | } 56 | 57 | .input:focus { 58 | border-color: #999; 59 | } 60 | 61 | .input:disabled { 62 | background-color: #eee; 63 | color: #999; 64 | } 65 | 66 | .button { 67 | display: block; 68 | width: 100%; 69 | min-width: 180px; 70 | padding: 10px 20px; 71 | font-size: 12px; 72 | font-weight: 300; 73 | border: none; 74 | background-color: rgb(14, 196, 150); 75 | color: white; 76 | text-transform: uppercase; 77 | outline: none; 78 | } 79 | 80 | .button:hover { 81 | background-color: rgb(3, 231, 174); 82 | cursor: pointer; 83 | } 84 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": [ "packages/*", "examples/transit-react-basic", "examples/transit-electron-dualbuild" ], 3 | "version": "independent", 4 | "npmClient": "yarn", 5 | "command": { 6 | "publish": { 7 | "message": "chore(release): publish", 8 | "ignoreChanges": [ "*.md" ] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "bootstrap": "lerna exec yarn installpkg && lerna link", 5 | "clean": "lerna clean --yes", 6 | "start": "yarn watch-packages", 7 | "start-all": "lerna run start --stream", 8 | "build-packages": "lerna run build-production --no-bail", 9 | "watch-packages": "lerna run watch", 10 | "build-packages-production": "lerna run build-production --no-bail", 11 | "lint": "./node_modules/.bin/tslint -c ./tslint.json -p ./tsconfig.json", 12 | "test": "" 13 | }, 14 | "devDependencies": { 15 | "@types/node": "*", 16 | "@types/uuid": "^3.4.4", 17 | "@types/webpack": "^4.4.18", 18 | "cross-env": "^5.2.0", 19 | "lerna": "^3.4.3", 20 | "prettier": "^1.15.2", 21 | "scatterjs-core": "^2.3.8", 22 | "scatterjs-plugin-eosjs2": "^1.1.6", 23 | "shx": "^0.3.2", 24 | "ts-loader": "^5.3.0", 25 | "ts-node": "^7.0.1", 26 | "tsconfig-paths": "^3.7.0", 27 | "tslint": "^5.11.0", 28 | "tslint-config-prettier": "^1.16.0", 29 | "tslint-react": "^3.6.0", 30 | "typescript": "3.1.6", 31 | "webpack": "4.29.6", 32 | "webpack-cli": "^3.1.2" 33 | }, 34 | "prettier": { 35 | "singleQuote": true, 36 | "printWidth": 80, 37 | "tabWidth": 2, 38 | "useTabs": false, 39 | "bracketSpacing": true 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /packages/eos-transit-anchorlink-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-anchorlink-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-anchorlink-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | Copyright (c) 2020 Greymass Inc. 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /packages/eos-transit-anchorlink-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-anchorlink-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjunction with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, GitHub: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | ## Links To This Package 12 | 13 | NPM: https://www.npmjs.com/package/eos-transit-anchorlink-provider 14 | GitHub: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-anchorlink-provider 15 | 16 | ## Implementation Details 17 | 18 | Anchor link is a cross-device authentication and signing protocol built on top of ESR (EOSIO Signing Requests / EEP-7). 19 | 20 | More information in the [Anchor Link repository](https://github.com/greymass/anchor-link) 21 | -------------------------------------------------------------------------------- /packages/eos-transit-anchorlink-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-anchorlink-provider", 3 | "version": "4.0.7", 4 | "description": "Anchor / ESR provider for eos-transit", 5 | "license": "MIT", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-anchorlink-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "anchor-link": "^2.0.0", 22 | "anchor-link-browser-transport": "^2.0.0", 23 | "eos-transit": "^4.0.7" 24 | }, 25 | "devDependencies": { 26 | "eosjs": "^20.0.0", 27 | "prettier": "^1.19.1", 28 | "webpack": "^4.25.1", 29 | "webpack-cli": "^3.1.2" 30 | }, 31 | "prettier": { 32 | "singleQuote": true, 33 | "printWidth": 80, 34 | "tabWidth": 2, 35 | "useTabs": false, 36 | "bracketSpacing": true 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /packages/eos-transit-anchorlink-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit-anchorlink-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-anchorlink-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: ['.tsx', '.ts', '.js'] 23 | }, 24 | output: { 25 | filename: 'eos-transit-anchorlink-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: ['WAL', 'providers', 'anchorlink'], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': ['eos-transit', 'default'] 34 | }) 35 | ], 36 | externals: { 37 | 'eos-transit': 'WAL' 38 | }, 39 | stats: { 40 | colors: true 41 | } 42 | }; 43 | 44 | export default config; 45 | -------------------------------------------------------------------------------- /packages/eos-transit-keycat-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-keycat-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-keycat-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-keycat-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-keycat-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-keycat-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-keycat-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-keycat-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-keycat-provider", 3 | "version": "4.0.7", 4 | "description": "Keycat - a wallet in your browser", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-keycat-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "eos-transit": "^4.0.7", 22 | "eosjs": "^20.0.0", 23 | "keycatjs": "^0.6.2" 24 | }, 25 | "devDependencies": { 26 | "webpack": "^4.25.1", 27 | "webpack-cli": "^3.1.2" 28 | }, 29 | "prettier": { 30 | "singleQuote": true, 31 | "printWidth": 80, 32 | "tabWidth": 2, 33 | "useTabs": false, 34 | "bracketSpacing": true 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /packages/eos-transit-keycat-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit-keycat-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-keycat-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: [ '.tsx', '.ts', '.js' ] 23 | }, 24 | output: { 25 | filename: 'eos-transit-tokenpocket-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: [ 'WAL', 'providers', 'tokenpocket' ], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': [ 'eos-transit', 'default' ] 34 | }) 35 | ], 36 | externals: 'eosjs', 37 | stats: { 38 | colors: true 39 | } 40 | }; 41 | 42 | export default config; 43 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-ledger-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-ledger-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-ledger-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/TransportU2F.js.patch: -------------------------------------------------------------------------------- 1 | --- TransportU2F.js 2019-02-05 14:51:58.052501700 -0500 2 | +++ TransportU2F_new.js 2019-02-05 14:52:20.660241700 -0500 3 | @@ -14,6 +14,8 @@ 4 | 5 | var _hwTransport2 = _interopRequireDefault(_hwTransport); 6 | 7 | +var regeneratorRuntime = require("@babel/runtime/regenerator"); 8 | + 9 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 10 | 11 | function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } 12 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/Transportwebauthn.js.patch: -------------------------------------------------------------------------------- 1 | --- TransportWebAuthn.js 1985-10-26 03:15:00.000000000 -0500 2 | +++ TransportWebAuthnMod.js 2019-05-02 10:21:29.013725600 -0400 3 | @@ -12,6 +12,8 @@ 4 | 5 | var _errors = require("@ledgerhq/errors"); 6 | 7 | +var regeneratorRuntime = require("@babel/runtime/regenerator"); 8 | + 9 | var _scrambling = require("@ledgerhq/devices/lib/scrambling"); 10 | 11 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 12 | @@ -179,4 +181,4 @@ 13 | }; 14 | 15 | exports.default = TransportWebAuthn; 16 | -//# sourceMappingURL=TransportWebAuthn.js.map 17 | \ No newline at end of file 18 | +//# sourceMappingURL=TransportWebAuthn.js.map 19 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/exampleTxn.txt: -------------------------------------------------------------------------------- 1 | 0420aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e90604049d75315c0402c85c0404ca6f261d040100040100040100040100040101040800a6823403ea30550408000000572d3ccdcd04010104081082f99f72f33fe5040800000000a8ed323204012604261082f99f72f33fe52082f99f72f33fe50a0000000000000004454f530000000005546573743104010004200000000000000000000000000000000000000000000000000000000000000000 2 | 3 | 0420aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e9060404fa82315c040248770404c8e139fe040100040100040100040100040101040800a6823403ea30550408000000572d3ccdcd04010104081082f99f72f33fe5040800000000a8ed323204012604261082f99f72f33fe52082f99f72f33fe50a0000000000000004454f530000000005546573743104010004200000000000000000000000000000000000000000000000000000000000000000 4 | 5 | aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906 6 | 7 | 8 | cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f3d80315cbbf4e2c27fb5000000000100a6823403ea3055000000572d3ccdcd01405d76789a9b315500000000a8ed3232261082f99f72f33fe52082f99f72f33fe5010000000000000004454f5300000000055465737431000000000000000000000000000000000000000000000000000000000000000000 9 | cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f 3d80315cbbf4e2c27fb5000000000100a6823403ea3055000000572d3ccdcd01405d76789a9b315500000000a8ed3232261082f99f72f33fe52082f99f72f33fe5010000000000000004454f530000000005546573743100 0000000000000000000000000000000000000000000000000000000000000000 10 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/patch-TransportU2F.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | cd "$(dirname "$0")"; 3 | echo "Patching TransportU2F.js ..." 4 | patch node_modules/@ledgerhq/hw-transport-u2f/lib/TransportU2F.js TransportU2F.js.patch 5 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/patch-Transportwebauthn.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | cd "$(dirname "$0")"; 3 | echo "Patching TransportWebAuthn.js ..." 4 | patch node_modules/@ledgerhq/hw-transport-webauthn/lib/TransportWebAuthn.js Transportwebauthn.js.patch 5 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/src/typings/bigi/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "bigi"; -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/src/typings/eosjs-ecc/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "eosjs-ecc"; -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/src/typings/ledgerhq__hw-transport-node-hid/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "@ledgerhq/hw-transport-node-hid"; -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/src/typings/ledgerhq__hw-transport-web-ble/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "@ledgerhq/hw-transport-web-ble"; -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/src/typings/ledgerhq__hw-transport-webauthn/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "@ledgerhq/hw-transport-webauthn"; -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/src/typings/ledgerhq__hw-transport-webusb/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "@ledgerhq/hw-transport-webusb"; -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./lib", 4 | "declaration": true, 5 | "declarationDir": "./lib", 6 | "module": "esnext", 7 | "target": "es5", 8 | "lib": ["dom", "es5", "es2015"], 9 | "sourceMap": true, 10 | "jsx": "react", 11 | "forceConsistentCasingInFileNames": true, 12 | "noImplicitReturns": true, 13 | "noImplicitThis": true, 14 | "noImplicitAny": true, 15 | "strictNullChecks": true, 16 | "suppressImplicitAnyIndexErrors": true, 17 | "noUnusedLocals": false, 18 | "allowSyntheticDefaultImports": true, 19 | "esModuleInterop": true, 20 | "moduleResolution": "node", 21 | "typeRoots": ["./node_modules/@types", "./src/typings"], 22 | "types": ["eosjs-ecc", "bigi", "ledgerhq__hw-transport-webauthn", "ledgerhq__hw-transport-web-ble", "ledgerhq__hw-transport-webusb"] 23 | }, 24 | "files": ["src/index.ts"] 25 | } 26 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-ledger-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: [ '.tsx', '.ts', '.js' ] 23 | }, 24 | output: { 25 | filename: 'eos-transit-ledger-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: [ 'WAL', 'providers', 'ledger' ], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': [ 'eos-transit', 'default' ], 34 | _hwTransport2: [ '@babel/runtime/regenerator' ] 35 | }) 36 | ], 37 | externals: 'eosjs', 38 | stats: { 39 | colors: true 40 | } 41 | }; 42 | 43 | export default config; 44 | -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-lynx-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-lynx-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-lynx-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/exampleTxn.txt: -------------------------------------------------------------------------------- 1 | 0420aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e90604049d75315c0402c85c0404ca6f261d040100040100040100040100040101040800a6823403ea30550408000000572d3ccdcd04010104081082f99f72f33fe5040800000000a8ed323204012604261082f99f72f33fe52082f99f72f33fe50a0000000000000004454f530000000005546573743104010004200000000000000000000000000000000000000000000000000000000000000000 2 | 3 | 0420aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e9060404fa82315c040248770404c8e139fe040100040100040100040100040101040800a6823403ea30550408000000572d3ccdcd04010104081082f99f72f33fe5040800000000a8ed323204012604261082f99f72f33fe52082f99f72f33fe50a0000000000000004454f530000000005546573743104010004200000000000000000000000000000000000000000000000000000000000000000 4 | 5 | aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906 6 | 7 | 8 | cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f3d80315cbbf4e2c27fb5000000000100a6823403ea3055000000572d3ccdcd01405d76789a9b315500000000a8ed3232261082f99f72f33fe52082f99f72f33fe5010000000000000004454f5300000000055465737431000000000000000000000000000000000000000000000000000000000000000000 9 | cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f 3d80315cbbf4e2c27fb5000000000100a6823403ea3055000000572d3ccdcd01405d76789a9b315500000000a8ed3232261082f99f72f33fe52082f99f72f33fe5010000000000000004454f530000000005546573743100 0000000000000000000000000000000000000000000000000000000000000000 10 | -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-lynx-provider", 3 | "version": "4.0.7", 4 | "description": "EOS Lynx wallet provider for eos-transit", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-lynx-ledger-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "tsc -w", 17 | "test": "", 18 | "lint": "tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "eos-transit": "^4.0.7", 22 | "eosjs": "^20.0.0" 23 | }, 24 | "devDependencies": { 25 | "@babel/plugin-transform-regenerator": "^7.0.0", 26 | "webpack": "^4.25.1" 27 | }, 28 | "prettier": { 29 | "singleQuote": true, 30 | "printWidth": 80, 31 | "tabWidth": 2, 32 | "useTabs": false, 33 | "bracketSpacing": true 34 | }, 35 | "gitHead": "2540a6a5c87f61e4487d67673a4579bec0ea8feb" 36 | } 37 | -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/src/typings/bigi/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "bigi"; -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/src/typings/eosjs-ecc/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "eosjs-ecc"; -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/src/typings/eosjs/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "eosjs"; -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./lib", 4 | "declaration": true, 5 | "declarationDir": "./lib", 6 | "module": "esnext", 7 | "target": "es5", 8 | "lib": ["dom", "es5", "es2015"], 9 | "sourceMap": true, 10 | "jsx": "react", 11 | "forceConsistentCasingInFileNames": true, 12 | "noImplicitReturns": true, 13 | "noImplicitThis": true, 14 | "noImplicitAny": false, 15 | "strictNullChecks": true, 16 | "suppressImplicitAnyIndexErrors": true, 17 | "noUnusedLocals": false, 18 | "allowSyntheticDefaultImports": true, 19 | "esModuleInterop": true, 20 | "moduleResolution": "node", 21 | //"typeRoots": ["./node_modules/@types", "./src/typings"], 22 | //"types": ["eosjs-ecc","eosjs", "bigi"] 23 | }, 24 | "files": ["src/index.ts"] 25 | } 26 | -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-lynx-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: ['.tsx', '.ts', '.js'] 23 | }, 24 | output: { 25 | filename: 'eos-transit-lynx-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: ['WAL', 'providers', 'lynx'], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin( 33 | { 34 | 'window.WAL': ['eos-transit', 'default'] 35 | } 36 | ) 37 | ], 38 | externals: 'eosjs', 39 | stats: { 40 | colors: true 41 | } 42 | }; 43 | 44 | export default config; 45 | -------------------------------------------------------------------------------- /packages/eos-transit-meetone-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-meetone-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-meetone-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-meetone-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-meetone-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-meetone-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-meetone-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon.. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-meetone-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-meetone-provider", 3 | "version": "4.0.7", 4 | "description": "meetone wallet provider for eos-transit", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-meetone-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "eos-transit": "^4.0.7", 22 | "eosjs": "^20.0.0" 23 | }, 24 | "devDependencies": { 25 | "webpack": "^4.25.1", 26 | "webpack-cli": "^3.1.2" 27 | }, 28 | "prettier": { 29 | "singleQuote": true, 30 | "printWidth": 80, 31 | "tabWidth": 2, 32 | "useTabs": false, 33 | "bracketSpacing": true 34 | }, 35 | "gitHead": "f0552f1b3201cce5dcf998892bd29c2f16f39a39" 36 | } 37 | -------------------------------------------------------------------------------- /packages/eos-transit-meetone-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit-meetone-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-meetone-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: [ '.tsx', '.ts', '.js' ] 23 | }, 24 | output: { 25 | filename: 'eos-transit-meetone-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: [ 'WAL', 'providers', 'meetone' ], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': [ 'eos-transit', 'default' ] 34 | }) 35 | ], 36 | externals: 'eosjs', 37 | stats: { 38 | colors: true 39 | } 40 | }; 41 | 42 | export default config; 43 | -------------------------------------------------------------------------------- /packages/eos-transit-metro-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-metro-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-metro-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-metro-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-metro-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-tokenpocket-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-tokenpocket-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-metro-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-metro-provider", 3 | "version": "4.0.7", 4 | "description": "Metro wallet provider for eos-transit", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-metro-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "eos-metro-api": "^1.0.11", 22 | "eos-metro-transport-u2f": "^1.0.12", 23 | "eos-transit": "^4.0.7" 24 | }, 25 | "devDependencies": { 26 | "@types/chrome": "0.0.82", 27 | "webpack": "^4.25.1", 28 | "webpack-cli": "^3.1.2" 29 | }, 30 | "prettier": { 31 | "singleQuote": true, 32 | "printWidth": 80, 33 | "tabWidth": 2, 34 | "useTabs": false, 35 | "bracketSpacing": true 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /packages/eos-transit-metro-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit-metro-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-metro-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: [ '.tsx', '.ts', '.js' ] 23 | }, 24 | output: { 25 | filename: 'eos-transit-tokenpocket-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: [ 'WAL', 'providers', 'tokenpocket' ], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': [ 'eos-transit', 'default' ] 34 | }) 35 | ], 36 | externals: 'eosjs', 37 | stats: { 38 | colors: true 39 | } 40 | }; 41 | 42 | export default config; 43 | -------------------------------------------------------------------------------- /packages/eos-transit-portis-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-portis-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-portis-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-portis-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-portis-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-tokenpocket-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-tokenpocket-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | ## Usage 25 | 26 | Node that this plugin requires a Dappid to initialize. See the last line in the below example. 27 | 28 | ``` 29 | 30 | const appName = 'My Dapp'; 31 | 32 | const walContext = initDefaultAccessContext({ 33 | appName, 34 | network: { 35 | host: 'eos.greymass.com', 36 | port: 443, 37 | protocol: 'https', 38 | chainId: 'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906' 39 | }, 40 | 41 | walletProviders: [ 42 | scatter(), 43 | portis({DappId: '0f987db7-f1f6-4ec6-bd8e-XXXXXXXXXX'}) ] 44 | }); 45 | 46 | ``` 47 | 48 | -------------------------------------------------------------------------------- /packages/eos-transit-portis-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-portis-provider", 3 | "version": "4.0.7", 4 | "description": "portis wallet provider for eos-transit", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-portis-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "@portis/eos": "^1.0.0-beta.2", 22 | "eos-transit": "^4.0.7", 23 | "eosjs": "^20.0.0" 24 | }, 25 | "devDependencies": { 26 | "webpack": "^4.25.1", 27 | "webpack-cli": "^3.1.2" 28 | }, 29 | "prettier": { 30 | "singleQuote": true, 31 | "printWidth": 80, 32 | "tabWidth": 2, 33 | "useTabs": false, 34 | "bracketSpacing": true 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /packages/eos-transit-portis-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit-portis-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-portis-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: [ '.tsx', '.ts', '.js' ] 23 | }, 24 | output: { 25 | filename: 'eos-transit-tokenpocket-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: [ 'WAL', 'providers', 'tokenpocket' ], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': [ 'eos-transit', 'default' ] 34 | }) 35 | ], 36 | externals: 'eosjs', 37 | stats: { 38 | colors: true 39 | } 40 | }; 41 | 42 | export default config; 43 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-scatter-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-scatter-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-scatter-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-scatter-provider", 3 | "version": "4.0.7", 4 | "description": "Scatter app wallet provider for eos-transit", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-scatter-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "eos-transit": "^4.0.7", 22 | "scatterjs-core": "2.7.18", 23 | "scatterjs-plugin-eosjs2": "1.5.0" 24 | }, 25 | "devDependencies": { 26 | "webpack": "^4.25.1", 27 | "webpack-cli": "^3.1.2" 28 | }, 29 | "prettier": { 30 | "singleQuote": true, 31 | "printWidth": 80, 32 | "tabWidth": 2, 33 | "useTabs": false, 34 | "bracketSpacing": true 35 | }, 36 | "gitHead": "2540a6a5c87f61e4487d67673a4579bec0ea8feb" 37 | } 38 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/src/typings/scatterjs-core.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'scatterjs-core'; 2 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/src/typings/scatterjs-plugin-eosjs2.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'scatterjs-plugin-eosjs2'; 2 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib", 7 | "typeRoots": ["./node_modules/@types", "./src/typings"] 8 | }, 9 | "files": ["src/index.ts"], 10 | "include": ["src/typings/*"] 11 | } 12 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-scatter-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: ['.tsx', '.ts', '.js'] 23 | }, 24 | output: { 25 | filename: 'eos-transit-scatter-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: ['WAL', 'providers', 'scatter'], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': ['eos-transit', 'default'], 34 | 'window.ScatterJS': ['scatterjs-core', 'default'], 35 | 'window.ScatterEOS': ['scatterjs-plugin-eosjs2', 'default'] 36 | }) 37 | ], 38 | externals: { 39 | 'eos-transit': 'WAL', 40 | 'scatterjs-core': 'ScatterJS', 41 | 'scatterjs-plugin-eosjs2': 'ScatterEOS' 42 | }, 43 | stats: { 44 | colors: true 45 | } 46 | }; 47 | 48 | export default config; 49 | -------------------------------------------------------------------------------- /packages/eos-transit-simpleos-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-simpleos-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-simpleos-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-simpleos-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-simpleos-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-simpleos-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-simpleos-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-simpleos-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-simpleos-provider", 3 | "version": "4.0.7", 4 | "description": "simpleos - a wallet in your browser", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-simpleos-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "eos-transit": "^4.0.7", 22 | "eosjs": "^20.0.0" 23 | }, 24 | "devDependencies": { 25 | "webpack": "^4.25.1", 26 | "webpack-cli": "^3.1.2" 27 | }, 28 | "prettier": { 29 | "singleQuote": true, 30 | "printWidth": 80, 31 | "tabWidth": 2, 32 | "useTabs": false, 33 | "bracketSpacing": true 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /packages/eos-transit-simpleos-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit-simpleos-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-simpleos-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: [ '.tsx', '.ts', '.js' ] 23 | }, 24 | output: { 25 | filename: 'eos-transit-tokenpocket-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: [ 'WAL', 'providers', 'tokenpocket' ], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': [ 'eos-transit', 'default' ] 34 | }) 35 | ], 36 | externals: 'eosjs', 37 | stats: { 38 | colors: true 39 | } 40 | }; 41 | 42 | export default config; 43 | -------------------------------------------------------------------------------- /packages/eos-transit-stub-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-stub-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-stub-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-stub-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-stub-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-stub-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-stub-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-stub-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wal-eos-stub-provider", 3 | "version": "4.0.7", 4 | "description": "Stub wallet provider for eos-transit", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-stub-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "eos-transit": "^4.0.7" 22 | }, 23 | "devDependencies": { 24 | "eosjs": "^20.0.0", 25 | "webpack": "^4.25.1", 26 | "webpack-cli": "^3.1.2" 27 | }, 28 | "prettier": { 29 | "singleQuote": true, 30 | "printWidth": 80, 31 | "tabWidth": 2, 32 | "useTabs": false, 33 | "bracketSpacing": true 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /packages/eos-transit-stub-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit-stub-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-stub-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: ['.tsx', '.ts', '.js'] 23 | }, 24 | output: { 25 | filename: 'eos-transit-stub-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: ['WAL', 'providers', 'stub'], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': ['eos-transit', 'default'] 34 | }) 35 | ], 36 | externals: { 37 | 'eos-transit': 'WAL' 38 | }, 39 | stats: { 40 | colors: true 41 | } 42 | }; 43 | 44 | export default config; 45 | -------------------------------------------------------------------------------- /packages/eos-transit-tokenpocket-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-tokenpocket-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-tokenpocket-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-tokenpocket-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-tokenpocket-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-tokenpocket-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-tokenpocket-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-tokenpocket-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-tokenpocket-provider", 3 | "version": "4.0.7", 4 | "description": "TokenPocket wallet provider for eos-transit", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-tokenpocket-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "eos-transit": "^4.0.7", 22 | "eosjs": "^20.0.0" 23 | }, 24 | "devDependencies": { 25 | "webpack": "^4.25.1", 26 | "webpack-cli": "^3.1.2" 27 | }, 28 | "prettier": { 29 | "singleQuote": true, 30 | "printWidth": 80, 31 | "tabWidth": 2, 32 | "useTabs": false, 33 | "bracketSpacing": true 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /packages/eos-transit-tokenpocket-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit-tokenpocket-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-tokenpocket-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: [ '.tsx', '.ts', '.js' ] 23 | }, 24 | output: { 25 | filename: 'eos-transit-tokenpocket-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: [ 'WAL', 'providers', 'tokenpocket' ], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': [ 'eos-transit', 'default' ] 34 | }) 35 | ], 36 | externals: 'eosjs', 37 | stats: { 38 | colors: true 39 | } 40 | }; 41 | 42 | export default config; 43 | -------------------------------------------------------------------------------- /packages/eos-transit-whalevault-provider/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit-whalevault-provider/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit-whalevault-provider/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit-whalevault-provider/README.md: -------------------------------------------------------------------------------- 1 | # eos-transit-whalevault-provider 2 | 3 | ## Introduction 4 | 5 | This is a plugin which is intended to be used in conjuntion with the EOS Transit API framework. 6 | 7 | Website: https://www.eostransit.com/ 8 | EOS Transit, NPM: https://www.npmjs.com/package/eos-transit 9 | EOS Transit, Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit 10 | 11 | 12 | ## Links To This Package 13 | 14 | NPM: https://www.npmjs.com/package/eos-transit-whalevault-provider 15 | Github: https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit-whalevault-provider 16 | 17 | ## Implementation Details 18 | 19 | 👉🏻 **Please see the "Quick Start" and thorough guide in the [`eos-transit` package docs](https://github.com/eosnewyork/eos-transit/tree/master/packages/eos-transit)** 20 | 21 | ## Build Your Own Plugin 22 | To build a plugin for your own signature provider to be included in the Transit API framework, please visit our in-depth tutorial here: https://github.com/eosnewyork/eos-transit/tree/master/plugin-dev/transit-dev-simple 23 | 24 | // We'll be adding plugin specific documentation here soon. 25 | -------------------------------------------------------------------------------- /packages/eos-transit-whalevault-provider/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit-whalevault-provider", 3 | "version": "4.0.7", 4 | "description": "WhaleVault wallet provider for eos-transit", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit-whalevault-provider ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", 16 | "watch": "../../node_modules/typescript/bin/tsc -w", 17 | "test": "", 18 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 19 | }, 20 | "dependencies": { 21 | "eos-transit": "^4.0.7", 22 | "eosjs": "^20.0.0" 23 | }, 24 | "devDependencies": { 25 | "webpack": "^4.25.1", 26 | "webpack-cli": "^3.1.2" 27 | }, 28 | "prettier": { 29 | "singleQuote": true, 30 | "printWidth": 80, 31 | "tabWidth": 2, 32 | "useTabs": false, 33 | "bracketSpacing": true 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /packages/eos-transit-whalevault-provider/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit-whalevault-provider/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit-whalevault-provider/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: [ '.tsx', '.ts', '.js' ] 23 | }, 24 | output: { 25 | filename: 'eos-transit-tokenpocket-provider.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: [ 'WAL', 'providers', 'tokenpocket' ], 29 | libraryExport: 'default' 30 | }, 31 | plugins: [ 32 | new ProvidePlugin({ 33 | 'window.WAL': [ 'eos-transit', 'default' ] 34 | }) 35 | ], 36 | externals: 'eosjs', 37 | stats: { 38 | colors: true 39 | } 40 | }; 41 | 42 | export default config; 43 | -------------------------------------------------------------------------------- /packages/eos-transit/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # compiled lib and types 7 | /lib 8 | 9 | # minified UMD builds 10 | /umd 11 | 12 | # misc 13 | .DS_Store 14 | .env 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | lerna-debug.log* 24 | -------------------------------------------------------------------------------- /packages/eos-transit/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | src 3 | tsconfig.** 4 | webpack.config.** 5 | *.log 6 | -------------------------------------------------------------------------------- /packages/eos-transit/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EOS New York 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/eos-transit/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eos-transit", 3 | "version": "4.0.7", 4 | "description": "Wallet Access Layer for EOS Blockchain Networks", 5 | "license": "UNLICENSED", 6 | "main": "lib/index.js", 7 | "module": "lib/index.js", 8 | "types": "lib", 9 | "scripts": { 10 | "echo": "echo \"================== eos-transit ===================\"", 11 | "installpkg": "yarn echo && npm install", 12 | "clean": "rm -rf lib && rm -rf umd", 13 | "prebuild": "yarn clean", 14 | "build": "../../node_modules/typescript/bin/tsc", 15 | "build-eosjs-bundle": "TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack --config webpack.config.eosjs.ts", 16 | "build-production": "yarn build && TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack && yarn build-eosjs-bundle", 17 | "watch": "../../node_modules/typescript/bin/tsc -w", 18 | "test": "", 19 | "lint": "../../node_modules/.bin/tslint -c ../../tslint.json -p ./tsconfig.json" 20 | }, 21 | "dependencies": { 22 | "@types/uuid": "^7.0.3", 23 | "eosjs": "^20.0.0", 24 | "uuid": "^3.3.2" 25 | }, 26 | "devDependencies": { 27 | "babel-core": "6.26.3", 28 | "babel-loader": "7.1.5", 29 | "babel-plugin-transform-runtime": "^6.23.0", 30 | "babel-preset-env": "1.7.0", 31 | "babel-preset-es2015": "6.24.1", 32 | "babel-preset-stage-1": "6.24.1", 33 | "webpack": "^4.25.1", 34 | "webpack-cli": "^3.1.2" 35 | }, 36 | "prettier": { 37 | "singleQuote": true, 38 | "printWidth": 80, 39 | "tabWidth": 2, 40 | "useTabs": false, 41 | "bracketSpacing": true 42 | }, 43 | "gitHead": "2540a6a5c87f61e4487d67673a4579bec0ea8feb" 44 | } 45 | -------------------------------------------------------------------------------- /packages/eos-transit/src/index.ts: -------------------------------------------------------------------------------- 1 | import { WalletAccessContext, WalletAccessContextOptions } from './types'; 2 | import { initAccessContext } from './walletAccessContext'; 3 | import { initWallet } from './wallet'; 4 | 5 | export * from './types'; 6 | export { initWallet } from './wallet'; 7 | export { initAccessContext }; 8 | 9 | export let defaultAccessContext: WalletAccessContext; 10 | 11 | export function initDefaultAccessContext( 12 | options: WalletAccessContextOptions 13 | ): WalletAccessContext { 14 | defaultAccessContext = initAccessContext(options); 15 | return defaultAccessContext; 16 | } 17 | 18 | const WAL = { 19 | initDefaultAccessContext, 20 | 21 | get accessContext() { 22 | if (!defaultAccessContext) { 23 | throw new Error(` 24 | No default WalletAccessContext is configured. 25 | Make sure to first run 'initDefaultAccessContext' to set it up. 26 | `); 27 | } 28 | 29 | return defaultAccessContext; 30 | }, 31 | 32 | initWallet 33 | }; 34 | 35 | export default WAL; 36 | 37 | // force rebuild 2 -------------------------------------------------------------------------------- /packages/eos-transit/src/stateContainer.ts: -------------------------------------------------------------------------------- 1 | import { 2 | StateContainer, 3 | StateUpdater, 4 | StateListener, 5 | StateUnsubscribeFn, 6 | StateUpdaterFn 7 | } from './types'; 8 | 9 | export function makeStateContainer( 10 | initialState: TState 11 | ): StateContainer { 12 | let state: TState = initialState; 13 | let listeners: Array> = []; 14 | 15 | return { 16 | getState() { 17 | return state; 18 | }, 19 | 20 | updateState(updater: StateUpdater) { 21 | state = 22 | typeof updater === 'function' 23 | ? (updater as StateUpdaterFn)(state) 24 | : updater; 25 | for (const listener of listeners) { 26 | listener(state); 27 | } 28 | }, 29 | 30 | subscribe(listenerFn: StateListener): StateUnsubscribeFn { 31 | listeners.push(listenerFn); 32 | 33 | return function unsubscribe() { 34 | listeners = listeners.filter(l => l !== listenerFn); 35 | }; 36 | } 37 | }; 38 | } 39 | -------------------------------------------------------------------------------- /packages/eos-transit/src/util.ts: -------------------------------------------------------------------------------- 1 | import { NetworkConfig } from './types'; 2 | 3 | export function getNetworkUrl({ protocol, host, port }: NetworkConfig) { 4 | return `${protocol ? protocol : 'http'}://${host}${port ? `:${port}` : ''}`; 5 | } 6 | 7 | export function getErrorMessage( 8 | error: Error | string, 9 | fallbackMessage: string = 'Error' 10 | ) { 11 | if (error) { 12 | return typeof error === 'string' ? error : error.message || fallbackMessage; 13 | } 14 | return fallbackMessage; 15 | } 16 | -------------------------------------------------------------------------------- /packages/eos-transit/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./lib", 5 | "declaration": true, 6 | "declarationDir": "./lib" 7 | }, 8 | "files": ["src/index.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/eos-transit/tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/eos-transit/webpack.config.eosjs.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration, ProvidePlugin } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './node_modules/eosjs/dist/index.js', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.js$/, 11 | use: { 12 | loader: 'babel-loader', 13 | options: { 14 | presets: [ 15 | 'babel-preset-env', 16 | 'babel-preset-stage-1', 17 | 'babel-preset-es2015' 18 | ] 19 | } 20 | } 21 | } 22 | ] 23 | }, 24 | resolve: { 25 | extensions: ['.tsx', '.ts', '.js'] 26 | }, 27 | output: { 28 | filename: 'eosjs.min.js', 29 | path: path.resolve(__dirname, 'umd'), 30 | libraryTarget: 'umd', 31 | library: 'eosjs' 32 | }, 33 | stats: { 34 | colors: true 35 | } 36 | }; 37 | 38 | export default config; 39 | -------------------------------------------------------------------------------- /packages/eos-transit/webpack.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { Configuration } from 'webpack'; 3 | 4 | const config: Configuration = { 5 | mode: 'production', 6 | entry: './src/index.ts', 7 | module: { 8 | rules: [ 9 | { 10 | test: /\.tsx?$/, 11 | use: { 12 | loader: 'ts-loader', 13 | options: { 14 | configFile: 'tsconfig.webpack.json' 15 | } 16 | }, 17 | exclude: /node_modules/ 18 | } 19 | ] 20 | }, 21 | resolve: { 22 | extensions: ['.tsx', '.ts', '.js'] 23 | }, 24 | output: { 25 | filename: 'eos-transit.min.js', 26 | path: path.resolve(__dirname, 'umd'), 27 | libraryTarget: 'umd', 28 | library: 'WAL', 29 | libraryExport: 'default' 30 | }, 31 | externals: 'eosjs', 32 | stats: { 33 | colors: true 34 | } 35 | }; 36 | 37 | export default config; 38 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/.env.local: -------------------------------------------------------------------------------- 1 | PORT=3300 2 | BROWSER=none 3 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # testing 7 | /coverage 8 | 9 | # production 10 | /build 11 | 12 | # misc 13 | .DS_Store 14 | # .env.local 15 | .env.development.local 16 | .env.test.local 17 | .env.production.local 18 | 19 | npm-debug.log* 20 | yarn-debug.log* 21 | yarn-error.log* 22 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "chrome", 9 | "request": "launch", 10 | "name": "Launch Chrome against localhost", 11 | "url": "http://localhost:3300", 12 | "webRoot": "${workspaceFolder}" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/VideoPreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/plugin-dev/transit-dev-simple/VideoPreview.png -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/images.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.svg' 2 | declare module '*.png' 3 | declare module '*.jpg' 4 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "transit-dev-simple", 3 | "version": "2.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "react-scripts-ts start", 7 | "build": "react-scripts-ts build", 8 | "test": "react-scripts-ts test --env=jsdom", 9 | "eject": "react-scripts-ts eject" 10 | }, 11 | "dependencies": { 12 | "emotion": "^9.2.10", 13 | "eos-transit": "^3.0.0", 14 | "eosjs": "^20.0.0-beta3", 15 | "minireset.css": "^0.0.3", 16 | "react": "^16.5.2", 17 | "react-dom": "^16.5.2", 18 | "react-emotion": "^9.2.10", 19 | "react-icons": "^3.1.0", 20 | "react-onclickoutside": "^6.7.1", 21 | "react-router": "^4.3.1", 22 | "react-router-dom": "^4.3.1", 23 | "react-scripts-ts": "3.1.0" 24 | }, 25 | "devDependencies": { 26 | "@types/node": "^10.11.3", 27 | "@types/react": "^16.4.14", 28 | "@types/react-dom": "^16.0.8", 29 | "@types/react-onclickoutside": "^6.0.4", 30 | "@types/react-router": "^4.0.31", 31 | "@types/react-router-dom": "^4.3.1", 32 | "prettier": "^1.14.3", 33 | "tslint": "^5.11.0", 34 | "tslint-config-prettier": "^1.15.0", 35 | "tslint-react": "^3.6.0", 36 | "typescript": "^3.1.3" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosnewyork/eos-transit/476b9a53e2c6aabffe0009a652d3044a92105920/plugin-dev/transit-dev-simple/public/favicon.ico -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 12 | 13 | 22 | WAL:E / React Transfer App Example 23 | 24 | 25 | 28 |
29 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "EOS UAL Example", 3 | "name": "EOS UAL React App Example", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { render } from 'react-dom'; 3 | import { BrowserRouter as Router } from 'react-router-dom'; 4 | import 'minireset.css'; 5 | import './initDefaultAccessContext'; 6 | import AppRoutes from './ui/AppRoutes'; 7 | import { applyGlobalStyles } from './ui/globalStyles'; 8 | 9 | applyGlobalStyles(); 10 | 11 | const Root = () => ( 12 | 13 | 14 | 15 | ); 16 | 17 | render(, document.getElementById('root')); 18 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/initDefaultAccessContext.ts: -------------------------------------------------------------------------------- 1 | import { initDefaultAccessContext } from 'eos-transit'; 2 | import myWallet from './mywallet'; 3 | 4 | const appName = 'transit-dev-simple'; 5 | 6 | const walContext = initDefaultAccessContext({ 7 | appName, 8 | network: { 9 | host: 'api.eosnewyork.io', 10 | port: 80, 11 | protocol: 'http', 12 | chainId: 'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906' 13 | }, 14 | walletProviders: [ myWallet() ] 15 | }); 16 | 17 | // const walContext = initDefaultAccessContext({ 18 | // appName, 19 | // network: { 20 | // host: 'api.pennstation.eosnewyork.io', 21 | // port: 7101, 22 | // protocol: 'https', 23 | // chainId: 'cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f' 24 | // }, 25 | // walletProviders: [ myWallet() ] 26 | // }); 27 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/screen/AppLayout.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactNode } from 'react'; 2 | import { 3 | ScreenLayout, 4 | ScreenContentHeader, 5 | ScreenContentBody, 6 | ScreenContentBodyContainer, 7 | ScreenContentHeaderMain 8 | } from '.'; 9 | import { LogoLink } from '../ui/LogoLink'; 10 | 11 | export interface AppLayoutProps { 12 | children?: ReactNode; 13 | } 14 | 15 | export function AppLayout({ children }: AppLayoutProps) { 16 | return ( 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | {children} 26 | 27 | 28 | ); 29 | } 30 | 31 | export default AppLayout; 32 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/screen/ScreenContent.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | export const ScreenContent = styled('div')({ 5 | flex: 1, 6 | display: 'flex', 7 | flexDirection: 'column', 8 | alignItems: 'stretch', 9 | justifyContent: 'stretch' 10 | }); 11 | 12 | export const ScreenContentHeader = styled('header')({ 13 | display: 'flex', 14 | padding: '25px 30px' 15 | }); 16 | 17 | export const ScreenContentHeaderMain = styled('div')({ 18 | flex: 1 19 | }); 20 | 21 | export interface ScreenContentBodyProps { 22 | flex?: boolean; 23 | } 24 | 25 | export const ScreenContentBody = styled('main')( 26 | { 27 | flex: 1, 28 | margin: '0 auto', 29 | padding: '30px 0' 30 | }, 31 | ({ flex }: ScreenContentBodyProps) => ({ 32 | display: flex !== false ? 'flex' : 'block' 33 | }) 34 | ); 35 | 36 | export interface ScreenContentBodyContainerProps { 37 | flex?: boolean; 38 | } 39 | 40 | export const ScreenContentBodyContainer = styled('div')( 41 | { 42 | maxWidth: 480, 43 | width: 480 44 | }, 45 | ({ flex }: ScreenContentBodyContainerProps) => ({ 46 | display: flex !== false ? 'flex' : 'block', 47 | flexDirection: 'column' 48 | }) 49 | ); 50 | 51 | export const ScreenContentFooter = styled('footer')({}); 52 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/screen/ScreenLayout.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | export const ScreenLayout = styled('div')({ 5 | width: '100%', 6 | minHeight: '100vh', 7 | display: 'flex', 8 | flexDirection: 'column', 9 | justifyContent: 'stretch' 10 | }); 11 | 12 | export default ScreenLayout; 13 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from './ScreenLayout'; 2 | export * from './ScreenContent'; 3 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/ui/AppRoutes.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Route, Switch } from 'react-router-dom'; 3 | import { AppLayout } from '../screen/AppLayout'; 4 | import { TestScreen } from '../TestScreen'; 5 | 6 | export function AppRoutes() { 7 | return ( 8 | 9 | 10 | 11 | 12 | 13 | ); 14 | } 15 | 16 | export default AppRoutes; 17 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/ui/LogoLink.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'react-emotion'; 3 | import { NavLink, NavLinkProps } from 'react-router-dom'; 4 | 5 | export const LogoLinkRoot = styled(NavLink)({ 6 | display: 'flex', 7 | alignItems: 'center', 8 | justifyContent: 'center', 9 | width: 45, 10 | height: 45, 11 | fontSize: 12, 12 | backgroundColor: 'rgba(255, 255, 255, 0.1)', 13 | color: 'white', 14 | textDecoration: 'none', 15 | textTransform: 'uppercase', 16 | borderRadius: '50%', 17 | transition: 'all 0.2s', 18 | 19 | '&:hover': { 20 | backgroundColor: 'rgba(255, 255, 255, 0.25)', 21 | textDecoration: 'none' 22 | } 23 | }); 24 | 25 | export function LogoLink(props: NavLinkProps) { 26 | return EOS; 27 | } 28 | 29 | export default LogoLink; 30 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/ui/TestButton.tsx: -------------------------------------------------------------------------------- 1 | import React, { Component, ReactNode, Children } from 'react'; 2 | import styled from 'react-emotion'; 3 | 4 | // Visual components 5 | // TODO: Extract to `shared` 6 | 7 | const TestButtonRoot = styled('button')({ 8 | display: 'flex', 9 | alignItems: 'center', 10 | justifyContent: 'center', 11 | minWidth: 200, 12 | padding: '10px 15px', 13 | color: 'white', 14 | fontSize: 12, 15 | fontWeight: 300, 16 | backgroundColor: '#2e3542', 17 | border: 'none', 18 | outline: 'none', 19 | textTransform: 'uppercase', 20 | borderRadius: 1, 21 | boxShadow: '0 7px 25px -4px rgba(0, 0, 0, 0.4)', 22 | transition: 'all 0.2s, transform 0.1s', 23 | 24 | '& strong': { 25 | fontWeight: 600 26 | }, 27 | 28 | '&:hover': { 29 | backgroundColor: '#40495a', 30 | cursor: 'pointer' 31 | }, 32 | 33 | '&:active': { 34 | backgroundColor: '#485163', 35 | boxShadow: '0 3px 15px -4px rgba(0, 0, 0, 0.8)', 36 | transform: 'translateY(1px) scale(0.99)' 37 | } 38 | }); 39 | 40 | const TestButtonIcon = styled('div')({ 41 | width: 24, 42 | height: 24 43 | }); 44 | 45 | const TestButtonText = styled('div')({ 46 | flex: 1, 47 | padding: '0, 10px', 48 | textAlign: 'center' 49 | }); 50 | 51 | const TestButtonAddon = styled('div')( 52 | { 53 | // TODO 54 | } 55 | ); 56 | 57 | // Exported component 58 | 59 | export interface TestButtonProps { 60 | children?: ReactNode; 61 | onClick?: (event: any) => void; 62 | } 63 | 64 | export class TestButton extends Component { 65 | render() { 66 | const { onClick } = this.props; 67 | 68 | return ( 69 | 70 | {this.props.children} 71 | 72 | ); 73 | } 74 | } 75 | 76 | export default TestButton; 77 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/src/ui/globalStyles.ts: -------------------------------------------------------------------------------- 1 | import { injectGlobal } from 'emotion'; 2 | 3 | export function applyGlobalStyles() { 4 | return injectGlobal` 5 | body { 6 | margin: 0; 7 | padding: 0; 8 | font-family: 'Helvetica', 'Helvetica Neue', sans-serif; 9 | -webkit-font-smoothing: antialiased; 10 | background-color: #21262f; 11 | color: white; 12 | } 13 | 14 | a { 15 | color: #9c73d7; 16 | } 17 | 18 | a:hover, 19 | a:focus, 20 | a:active { 21 | color: white; 22 | } 23 | `; 24 | } 25 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "./src", 4 | "outDir": "./build", 5 | "module": "esnext", 6 | "target": "es5", 7 | "lib": ["dom", "es2017"], 8 | "sourceMap": true, 9 | "allowJs": true, 10 | "jsx": "react", 11 | "moduleResolution": "node", 12 | "rootDir": "src", 13 | "forceConsistentCasingInFileNames": true, 14 | "noImplicitReturns": true, 15 | "noImplicitThis": true, 16 | "noImplicitAny": true, 17 | "strictNullChecks": true, 18 | "suppressImplicitAnyIndexErrors": true, 19 | "noUnusedLocals": false, 20 | "allowSyntheticDefaultImports": true 21 | }, 22 | "exclude": [ 23 | "node_modules", 24 | "build", 25 | "scripts", 26 | "acceptance-tests", 27 | "webpack", 28 | "jest", 29 | "src/setupTests.ts" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/tsconfig.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json" 3 | } -------------------------------------------------------------------------------- /plugin-dev/transit-dev-simple/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs" 5 | } 6 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "es5", "es2015"], 5 | "sourceMap": true, 6 | "jsx": "react", 7 | "forceConsistentCasingInFileNames": true, 8 | "noImplicitReturns": true, 9 | "noImplicitThis": true, 10 | "noImplicitAny": true, 11 | "strictNullChecks": true, 12 | "suppressImplicitAnyIndexErrors": true, 13 | "noUnusedLocals": false, 14 | "allowSyntheticDefaultImports": true, 15 | "esModuleInterop": true, 16 | "moduleResolution": "node" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tsconfig.webpack.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "target": "es5", 6 | "esModuleInterop": true 7 | } 8 | } 9 | --------------------------------------------------------------------------------