HenryNguyen5 efccac79ad 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 70cba3a07f4255153a9e277b3c41032a4b661c94.

* 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
2017-10-16 21:01:28 -07:00

48 lines
972 B
TypeScript

import React from 'react';
import { Wei } from 'libs/units';
import translate from 'translations';
import Code from 'components/ui/Code';
export interface Props {
nonce: string;
gasPrice: Wei;
gasLimit: string;
to: string;
value: string;
data: string;
chainId: number;
signedTx: string;
}
export const TxCompare = (props: Props) => {
if (!props.signedTx) {
return null;
}
const { signedTx, ...rawTx } = props;
const Left = () => (
<div className="form-group">
<h4>{translate('SEND_raw')}</h4>
<Code>
{JSON.stringify(
{ ...rawTx, gasPrice: rawTx.gasPrice.toString(16) },
null,
2
)}
</Code>
</div>
);
const Right = () => (
<div className="form-group">
<h4> {translate('SEND_signed')} </h4>
<Code>{signedTx}</Code>
</div>
);
return (
<section>
<Left />
<Right />
</section>
);
};
export type TTxCompare = typeof TxCompare;