-
-
Notifications
You must be signed in to change notification settings - Fork 650
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Contracts Tab UI #277
Contracts Tab UI #277
Conversation
…rs / sagas / redux state
</div> | ||
); | ||
return ( | ||
<section className="row"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
section doesn't need className="row"
, removing this fixes mis-aligned margins on the raw and signed transaction when deploying a contract.
This is a fairly large PR, so I will update this comment with results as I review:
|
TransactionInput | ||
} from 'libs/transaction'; | ||
import { Props, State, initialState } from './types'; | ||
import { TxModal, Props as DMProps, TTxModal } from '../../../TxModal'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Prefer path from common
.
import classnames from 'classnames'; | ||
import { addProperties } from 'utils/helpers'; | ||
import { isValidGasPrice, isValidByteCode } from 'libs/validators'; | ||
export interface Props { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
newlines after imports 😁
return input; | ||
} | ||
} | ||
private handleInputChange = (ev: any) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
newlines after methods 😁
I think it's time to add this rule to tslint.
address: string; | ||
abiJson: string; | ||
} | ||
class InteractForm extends Component<Props, State> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what the rule for this would be, but newline above class declaration?
{translate('CONTRACT_Json')} | ||
</h4> | ||
<textarea | ||
placeholder="[{ "type":"contructor", "inputs": [{ "name":"param1", "type":"uint256", "indexed":true }], "name":"Event" }, { "type":"function", "inputs": [{"name":"a", "type":"uint256"}], "name":"foo", "outputs": [] }] " |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
declaring outside of method instead of the literal would be cleaner
</div> | ||
); | ||
} | ||
private makeCompareTx = (): React.ReactElement<TTxCompare> => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
^
* Minimal HMR (#294) * Move Root Component to root level * remove Root export from components directory * support Root HMR * Convert Translations to JSON (#287) * replace js object translations with JSON * require JSON extensions for translation files * TypeScript ReadMe Updates (#282) * update readme with typescript action/reducer philosophies * convert directory strucuture to code block for styling * Update readme with hoc typings (#296) * Deprecate Docker Support (#290) * remove Dockerfile and docker-compose.yml * remove docker instructions from readme * Fix Missing Address in Paper Wallet (#292) * Contract Refactor (#175) * Refactor BaseNode to be an interface INode * Initial contract commit * Remove redundant fallback ABI function * First working iteration of Contract generator to be used in ENS branch * Hide abi to clean up logging output * Strip 0x prefix from output decode * Handle unnamed output params * Implement ability to supply output mappings to ABI functions * Fix null case in outputMapping * Add flow typing * Add .call method to functions * Partial commit for type refactor * Temp contract type fix -- waiting for NPM modularization * Remove empty files * Cleanup contract * Add call request to node interface * Fix output mapping types * Revert destructuring overboard * Add sendCallRequest to rpcNode class and add typing * Use enum for selecting ABI methods * Add transaction capability to contracts * Cleanup privaite/public members * Remove broadcasting step from a contract transaction * Cleanup uneeded types * Fix spacing + remove unused imports / types * Actually address PR comments * Contracts UI (#277) * Refactor BaseNode to be an interface INode * Initial contract commit * Remove redundant fallback ABI function * First working iteration of Contract generator to be used in ENS branch * Hide abi to clean up logging output * Strip 0x prefix from output decode * Handle unnamed output params * Implement ability to supply output mappings to ABI functions * Fix null case in outputMapping * Add flow typing * Add .call method to functions * Partial commit for type refactor * Temp contract type fix -- waiting for NPM modularization * Misc. Optimizations to tsconfig + webpack * Convert Contracts to TS * Remove nested prop passing from contracts, get rid of contract reducers / sagas / redux state * Add disclaimer modal to footer * Remove duplicate code & unnecessary styles * Add contracts to nav * Wrap Contracts in App * Add ether/hex validation override for contract creation calls * First iteration of working deploy contract * Delete routing file that shouldnt exist * Revert "Misc. Optimizations to tsconfig + webpack" This reverts commit 70cba3a. * Cleanup HOC code * Fix formatting noise * remove un-used css style * Remove deterministic contract address computation * Remove empty files * Cleanup contract * Add call request to node interface * Fix output mapping types * Revert destructuring overboard * Add sendCallRequest to rpcNode class and add typing * Use enum for selecting ABI methods * Fix tslint error & add media query for modals * Nest Media Query * Fix contracts to include new router fixes * Add transaction capability to contracts * Get ABI parsing + contract calls almost fully integrated using dynamic contract parser lib * Refactor contract deploy to have a reusable HOC for contract interact * Move modal and tx comparasion up file tree * Include ABI outputs in display * Cleanup privaite/public members * Remove broadcasting step from a contract transaction * Update TX contract components to inter-op with interact and deploy * Finish contracts-interact functionality * Add transaction capability to contracts * Cleanup privaite/public members * Remove broadcasting step from a contract transaction * Apply James's CSS fix * Cleanup uneeded types * Remove unecessary class * Add UI side validation and helper utils, addresess PR comments * Fix spacing + remove unused imports / types * Fix spacing + remove unused imports / types * Address PR comments * Actually address PR comments * Actually address PR comments * Remove flowconfig (#301) * Fix errors thrown on /send-transaction by adding a query string to the url (#291) Fix errors thrown on /send-transaction by adding a query string to the url * Add "No Unused Params and Locals" Linting Rule (#297) Add "No Unused Params and Locals" Linting Rule * Broadcast Tx (#304) * create MVP of broadcast TX component * add broadcastTx to routes and tab options * Update BroadcastTx path to /pushTx * - add sanitizeHex and padLeftEven functions from V3 * - Move decodeTransaction logic out of ConfirmationModal. - Add from key to getTransactionFields * Simplify ConfirmationModal: 1. Move business logic out of component (decodeTransaction). 2. Don't pass node props when Component is already smart. Map from state instead. 3. Pass walletAddress instead of the entire wallet object to component as prop. 4. Handle * - Don't map node state (child component grabs from state) - implement and call setWalletAddressOnUpdate * correct tab to path. * 1. Integrate Confirmation Modal 2. Validate signedTx input and disable Send Transaction button when invalid * disable tslint error. EthTx expect a Data type object, but a string is passed. However, tx object is created as expected. Need to investigate * adjust type definition to match allowed string input. Remove tslint disable * fix tslint errors * add textarea valid/invalid stlying based on disabled status * remove unused imports * cleanup / address PR comments * Address PR comments * Update Code Guidelines (#308) * Update readme * Update README.md * Remove conditional handlers section * Update code blocks to ts * Remove addProperties helper (#318) * Update Jest & Enzyme, Add snapshot tests (#307) * Add disclaimer modal to footer * Remove duplicate code & unnecessary styles * Fix formatting noise * remove un-used css style * Fix tslint error & add media query for modals * Nest Media Query * Update Jest & Enzyme, Add snapshot tests * Fix tslint errors in /spec, Update mock localstorage * Update types in tests, Fix tslint error * Specify module versions for browser * Update sendTransaction snapshot * Add definition file for bn.js (#317) * Add definition file for bn.js * Remove types-bn * make isBN a static property * Swap out bignumber for bn in vendor * Remove types-bn * EthereumJS-Wallet Prep (Definition and Package) (#309) * Progress commit -- ethereumjs-wallet typings * Add hdkey module + better wallet typing * Add provider-engine typings * Add jsdoc descriptions for hdkey constructor methods * Fix missing return type * Fix another missing return * Make provider engine options optional * Add priv/pubkey members to wallet instance * Use proper interface naming for V3Wallet * Use proper interface naming for PublicKeyOnlyWallet * Move thirdparty wallet definitions in ethereumjs-wallet out of root into /thirdparty (#325) * Fix definition module for thirdparty wallets * Fix Trezor throwing on connect (#330) * Forward Angular Routes from V3 (#320) * Sign & Verify Message (#315) * add route and nav tab for new module * add new module to tabs index * add signMessage to wallet interface * add signed message verification, normalize pkey sign * init Sign & Verify Message tab * reorder imports * mock out Trezor * cast to bool instead of length check * normalize ledger sign message * fix broken this context * add commented message signing to trezor wallet * correct var to start on sign tab * remove unused state var * clean up SignMessage classes * clean up VerifyMessage classes, remove unnecessary log * correct event variable types * remove unnecessary exports * remove empty classname * use implicit return * shorten signMessage method * remove unnecessary disable * tweak variable name * make better use of destructuring, remove console log * use destructured var * flatten if statement * add signMessage method to wallet reducer test * Various unlock / send style fixes (#331) * Fix table spacing. * Fix modal button wrapping * Fix hanging send transaction button. * Space * Fix Readme Typo (#333) * Animate transaction notifications & fix styles (#305) * Add disclaimer modal to footer * Remove duplicate code & unnecessary styles * Fix formatting noise * remove un-used css style * Fix tslint error & add media query for modals * Nest Media Query * Add react-transition-group * Animate notifications with react-transition-group * Identify issue with notifications getting overridden * Update RTG (react-transition-group) to v2 & identify keys as animation issue * Add unique id on successful transactions for unique keys * update classNames, remove unused import * Revert removing lodash * Remove unnecessary test util * Remove formatting noise * Remove all formatting noise * Update CSS & Change notification unique id * Add unique id for each notification * Warn / Prevent Outdated Browsers from Wallet Generation (#329) * EthereumJS-Wallet (Part 2) (#310) * Progress commit -- ethereumjs-wallet typings * Add hdkey module + better wallet typing * Add provider-engine typings * Add jsdoc descriptions for hdkey constructor methods * Fix missing return type * Fix another missing return * Make provider engine options optional * Add priv/pubkey members to wallet instance * Turn into SFC + Use ethereumjs-lib * Use proper interface naming for V3Wallet * Switch to ethereumjs-wallet * Switch to ethereumjs-wallet and refactor using NewTabLink * Use proper interface naming for V3Wallet * Use proper interface naming for PublicKeyOnlyWallet * Fix broken test, re-add scryptsy to make this PR pass * Fix definition module for thirdparty wallets * Decrease n-factor to 1024, checksum address of keystore * Update typedef for react-dom from 15 to 16 * Lock react-dom, set typescript to 2.5.2 * Update dependencies to enable Greenkeeper 🌴 (#344) * chore(package): update dependencies * docs(readme): add Greenkeeper badge * Remove package lock and add it to ignore * Pin typescript to 2.5.2 * Pin package versions to the versions previously in package-lock.json * EthereumJS-Wallet (Part 3) (#316) * Progress commit -- ethereumjs-wallet typings * Add hdkey module + better wallet typing * Add provider-engine typings * Add jsdoc descriptions for hdkey constructor methods * Fix missing return type * Fix another missing return * Make provider engine options optional * Add priv/pubkey members to wallet instance * Turn into SFC + Use ethereumjs-lib * Use proper interface naming for V3Wallet * Switch to ethereumjs-wallet * Switch to ethereumjs-wallet and refactor using NewTabLink * Use proper interface naming for V3Wallet * Use proper interface naming for PublicKeyOnlyWallet * Strip out wallet classes for ethereumjs-wallet, stuff wallet types in privkey for now * Seperate wallets into deterministic and non-deterministic, change IWallet and deterministic wallets to adhere to getAddressString * Fix broken test, remove scryptsy * Fix broken test, re-add scryptsy to make this PR pass * Remove uuid from deps and keystore test * Add ethereumjs-wallet to DLL * Wrap mnemonic wallet * Fix definition module for thirdparty wallets * Fix MewV1 wallet not loading due to wrong library * Fix tsc error * Decrease n-factor to 1024, checksum address of keystore * Fix isKeystorePassRequired * Fix tsc errors * Merge package lock * Update package lock * regenerate lock file * Lock typescript to 2.5.2 * Merge develop * Wallet Decrypt - Web3 (MetaMask / Mist) (#303) * add support for web3, disabled, and hidden in node dropdown header * add web3 node config actions * add web3 wallet actions * add web3 node support * add web3 wallet & web3 wallet ui selection * add web3 wallet & config sagas * add web3 transaction support to SendTransaction tab * add web3 node check & reset to redux store * remove comments from Web3.tsx * update comment * correct spacing display issue in Web3 component * convert getTransactionCount response to string * disable web3 wallets in offline mode * implement sendCallRequest method on Web3 node * remove unused vars * make typescript happy * convert wallet constants to enum & apply to wallet action files * update wallet reducer to use TypeKeys enum * remove unnecessary console log * remove unnecessary await * make token balance math more readable * use NewTabLink in Web3.tsx, allow NewTabLink to accept className * move web3.ts to non-deterministic folder * update imports & method names, implement message signing * add web3 wallet export * use bufferToHex * Replace bignumber.js with bn.js (#319) * Add definition file for bn.js * Remove types-bn * make isBN a static property * progress commit -- swap out bignumber.js for bn.js * Swap out bignumber for bn in vendor * Change modn to number return * Start to strip out units lib for a string manipulation based lib * Convert codebase to only base units * Get rid of useless component * Handle only wei in values * Use unit conversion in sidebar * Automatically strip hex prefix, and handle decimal edge case * Handle base 16 wei in transactions * Make a render callback component for dealing with unit conversion * Switch contracts to use bn.js, and get transaction values from signedTx instead of state * Get send transaction working with bn.js * Remove redundant hex stripping, return base value of tokens * Cleanup unit file * Re-implement toFixed for strings * Use formatNumber in codebase * Cleanup code * Undo package test changes * Update snapshot and remove console logs * Use TokenValue / Wei more consistently where applicable * Add typing to deterministicWallets, fix confirmation modal, make UnitDisplay more flexible * Clean up prop handling in UnitDisplay * Change instanceof to typeof check, change boolean of displayBalance * Fix tsc errors * Fix token row displaying wrong decimals * Fix deterministic modal token display * Handle hex and non hex strings automatically in BN conversion * Fix handling of strings and numbers for BN * add web3 fixes & comments * Display short balances on deterministic modals * add more tests, fix rounding * Add spacer to balance sidebar network name * Fix tsc error * Swap UX Cleanup (#339) Fixes #226 Fixes #383 Added a simple check to ensure that swap rates exist so we don't get a NaN error, which would be confusing to users. Instead, the form is hidden and a spinner is shown until the bityRates are ready for the user. * adds spinner while fetching * added error on top of input * removed classnames prop and added cn * added simple err mssge * css fixes and disabled button * better err mssge generation and fixed swap details * minor typo * added redux notification on unreachable error * minheight for err message and swap update on redux change * fixed formatting and removed className prop * chore(package): update ts-jest to version 21.2.0 (#349) * chore(package): update enzyme-to-json to version 3.2.2 (#352) * chore(package): update react-hot-loader to version 3.1.2 (#354) * chore(package): update node-sass to version 4.6.1 (#381) * fix(package): update moment to version 2.19.2 (#380) * Update readme - typing injected props (#375) * fix(package): update qrcode to version 1.0.0 (#353) * chore(package): update @types/react to version 16.0.22 (#358) * chore(package): update prettier to version 1.8.2 (#364) * chore(package): update lint-staged to version 5.0.0 (#377) * fix(package): update react-markdown to version 2.5.1 (#374) * chore(package): update @types/jest to version 21.1.6 (#376) * fix(package): update react to version 16.1.1 (#396) Closes #368 * chore(package): update @types/react-router-redux to version 5.0.10 (#362) * fix(package): update react-dom to version 16.1.1 (#397) Closes #369 * chore(package): update @types/lodash to version 4.14.85 (#395) Closes #357 * chore(package): update react-test-renderer to version 16.1.1 (#398) Closes #367 * chore(package): update @types/react-router to version 4.0.17 (#361) * chore(package): update @types/react-dom to version 16.0.3 (#359) * chore(package): update redux-test-utils to version 0.2.1 (#399) Closes #365 * chore(package): update @types/react-router-dom to version 4.2.1 (#360) * chore(package): update @types/redux-form to version 7.0.9 (#363) * Wallet Loading States & Spinner Update (#334) * Add disclaimer modal to footer * Remove duplicate code & unnecessary styles * Fix formatting noise * remove un-used css style * Fix tslint error & add media query for modals * Nest Media Query * Replace '???' with Spinner & update spinner * Add loading states for wallet balances * Update wallet test * Remove excess data passed to wallet balance reducer & Fix wallet balance types * Merge 'develop' into 'loading-indicator' * Add 'light' prop to Spinner * Only show spinners when fetching data * Remove format diff * Apply naming conventions * Remove network name when offline * Fix account balance underline & spacing (#401) * display network name if balance loaded (#402) * Equivalent Values for Tokens (#366) * Add select with tokens. * Reformat state shape to allow multiple currency rates. Show those rates when selected. * Add loader * chore(package): update react-hot-loader to version 3.1.3 (#405) * chore(package): update enzyme to version 3.2.0 (#403) * Update @types/react to the latest version 🚀 (#406) * chore(package): update @types/react to version 16.0.23 * Update package.json * chore(package): update enzyme-adapter-react-16 to version 1.1.0 (#404) * chore(package): update @types/react-redux to version 5.0.13 (#407) * chore(package): update @types/react to version 16.0.24 (#410) * Unset Web3 Node on Wallet Reset (#409) * unset web3 node on wallet reset * use wallet TypeKeys enum instead of strings * Set Bity Rates Polling Cycle to 30 Seconds * chore(package): update ts-jest to version 21.2.3 (#416) * chore(package): update @types/react to version 16.0.25 (#419) * chore(package): update cache-loader to version 1.2.0 (#418) * chore(package): update copy-webpack-plugin to version 4.2.1 (#417) * Add information about typing connected components. (#412) * Redux Reducer Tests (#390) * set return type in resetWallet action creator * update config reducer test * update generateWallet reducer test * update swap reducer test * update wallet reducer test * create customTokens reducer test * create deterministicWallets reducer test * create ens reducer test * create notifications reducer test * add crypto compare success/fail actions * add rates reducer test * remove unnecessary comments * remove more comments * remove duplicate import * update wallet reducer test to use BN * update dWallet reducer test to use BN * update wallet reducer tests * update rates reducer tests * chore(package): update node-sass to version 4.7.1 (#422) * chore(package): update awesome-typescript-loader to version 3.4.0 (#424) * Equivalent values for all tokens (ETH + ERC20s) (#420) * Fetch all token rates at once. Add option for displaying all token values. * Ensure spinner always shows before equivalent values are ready. * Fix up test. * Custom Nodes (#322) * Layed out components for custom nodes. * Outline of custom nodes. Still missing various features and error handling. * Persist custom nodes to local storage. * Make custom nodes removable. * Add latest block functions, call it when switching nodes. * Initialize correct node, move node utils into utils file. * Fix names * Send headers along with rpc requests. * Remove custom network options for now. * PR feedback. * One last log. * Fix tests. * Headers in batch too. * Switch to node when you add it. * Reduce hackery. * Clean up linter and tsc. * Fix latest block hex conversion. * Unit tests. * Fix missing property. * Fix Modal title typing. * Tag Alpha 0.0.4 (#428)
Depends on #175
Contains Contracts tab
What this does