message: List tokens in iopay desktop
diff: import Form from "antd/lib/form";
  import { WrappedFormUtils } from "antd/lib/form/Form";
  -import Input from "antd/lib/input";
  import Modal from "antd/lib/modal";
  // @ts-ignore
  +// tslint:disable-next-line:import-blacklist
  +import { Select } from "antd";
  import { t } from "onefx/lib/iso-i18n";
  import React from "react";
  +import { GetTokenMetadataMap, TokenMetadata } from "../common/common-metadata";
  import { rulesMap } from "../common/rules";
  import { colors } from "../common/styles/style-color";
  @@ -38,6 +40,16 @@ class AddCustomTokensFormModal extends React.PureComponent<
  public render(): JSX.Element {
  const { form, onCancel, visible = false } = this.props;
  const { getFieldDecorator } = form;
  + const metadataList: Array<TokenMetadata> = [];
  + const tokenMetadataMap = GetTokenMetadataMap();
  + if (tokenMetadataMap) {
  + for (const [k, v] of Object.entries(tokenMetadataMap)) {
  + if (v.type === "xrc20") {
  + v.address = k;
  + metadataList.push(v);
  + }
  + }
  + }
  return (
  <Modal
  title={t("account.token.addCustom")}
  @@ -58,11 +70,49 @@ class AddCustomTokensFormModal extends React.PureComponent<
  {getFieldDecorator("tokenAddress", {
  rules: rulesMap.tokenAddress
  })(
  - <Input
  + <Select
  placeholder="io..."
  - style={{ width: "100%", background: colors.black10 }}
  - name="tokenAddress"
  + style={{ width: "100%", backgroundColor: colors.black10 }}
  + defaultActiveFirstOption={false}
  + showArrow={true}
  + optionLabelProp="label"
  + >
  + {metadataList.map(item => {
  + return (
  + <Select.Option
  + key={item.address}
  + value={item.address}
  + label={item.address}
  + >
  + <div
  + style={{
  + cursor: "pointer",
  + color: colors.primary,
  + display: "flex",
  + justifyContent: "space-between",
  + alignItems: "center"
  + }}
  + >
  + <div style={{ width: 180, marginRight: 20 }}>
  + <img
  + src={`/image/token/${item.logo}`}
  + alt="ico"
  + style={{ width: "13px", height: "13px" }}
  />
  + <span
  + style={{ marginLeft: "2px", whiteSpace: "nowrap" }}
  + >
  + {`${item.name}(${item.symbol || ""})`}
  + </span>
  + </div>
  + <div className="ellipsis-text" style={{ flex: 1 }}>
  + {item.address}
  + </div>
  + </div>
  + </Select.Option>
  + );
  + })}
  + </Select>
  )}
  </Form.Item>
  </Modal>
  