Commit ae9fa925 authored by Kenny Tran's avatar Kenny Tran

Do approvals correctly

parent d15a3cec
......@@ -210,15 +210,16 @@ class CurrencyInputPanel extends Component {
exchangeAddresses: { fromToken },
web3,
disableUnlock,
value,
} = this.props;
if (disableUnlock || !selectedTokenAddress || selectedTokenAddress === 'ETH') {
return;
}
const { value, decimals, label } = selectors().getApprovals(selectedTokenAddress, account, fromToken[selectedTokenAddress]);
const { value: allowance, decimals, label } = selectors().getApprovals(selectedTokenAddress, account, fromToken[selectedTokenAddress]);
if (!label || value.isGreaterThan(BN(10 ** 22))) {
if (!label || allowance.isGreaterThanOrEqualTo(BN(value * 10 ** decimals || 0))) {
return;
}
......
......@@ -70,19 +70,19 @@ class AddLiquidity extends Component {
isUnapproved() {
const { account, exchangeAddresses, selectors } = this.props;
const { outputCurrency } = this.state;
const { outputCurrency, outputValue } = this.state;
if (!outputCurrency) {
return false;
}
const { value, label } = selectors().getApprovals(
const { value: allowance, label, decimals } = selectors().getApprovals(
outputCurrency,
account,
exchangeAddresses.fromToken[outputCurrency]
);
if (!label || value.isLessThan(BN(10 ** 22))) {
if (label && allowance.isLessThan(BN(outputValue * 10 ** decimals || 0))) {
return true;
}
......@@ -183,8 +183,8 @@ class AddLiquidity extends Component {
let inputError;
let outputError;
let isValid = true;
const inputIsZero = BN(inputValue).isEqualTo(BN(0));
const outputIsZero = BN(outputValue).isEqualTo(BN(0));
const inputIsZero = BN(inputValue).isZero();
const outputIsZero = BN(outputValue).isZero();
if (!inputValue || inputIsZero || !outputValue || outputIsZero || !inputCurrency || !outputCurrency || this.isUnapproved()) {
isValid = false;
......@@ -259,8 +259,8 @@ class AddLiquidity extends Component {
inputCurrency,
outputCurrency,
} = this.state;
const inputIsZero = BN(inputValue).isEqualTo(BN(0));
const outputIsZero = BN(outputValue).isEqualTo(BN(0));
const inputIsZero = BN(inputValue).isZero();
const outputIsZero = BN(outputValue).isZero();
if (!inputCurrency || !outputCurrency) {
return (
......
......@@ -74,8 +74,8 @@ class Send extends Component {
let outputError = '';
let isValid = true;
const validRecipientAddress = web3 && web3.utils.isAddress(recipient);
const inputIsZero = BN(inputValue).isEqualTo(BN(0));
const outputIsZero = BN(outputValue).isEqualTo(BN(0));
const inputIsZero = BN(inputValue).isZero();
const outputIsZero = BN(outputValue).isZero();
if (!inputValue || inputIsZero || !outputValue || outputIsZero || !inputCurrency || !outputCurrency || !recipient || this.isUnapproved() || !validRecipientAddress) {
isValid = false;
......@@ -100,19 +100,19 @@ class Send extends Component {
isUnapproved() {
const { account, exchangeAddresses, selectors } = this.props;
const { inputCurrency } = this.state;
const { inputCurrency, inputValue } = this.state;
if (!inputCurrency || inputCurrency === 'ETH') {
return false;
}
const { value, label } = selectors().getApprovals(
const { value: allowance, label, decimals } = selectors().getApprovals(
inputCurrency,
account,
exchangeAddresses.fromToken[inputCurrency]
);
if (!label || value.isLessThan(BN(10 ** 22))) {
if (label && allowance.isLessThan(BN(inputValue * 10 ** decimals || 0))) {
return true;
}
......@@ -128,7 +128,7 @@ class Send extends Component {
const editedValue = lastEditedField === INPUT ? this.state.inputValue : this.state.outputValue;
if (BN(editedValue).isEqualTo(BN(0))) {
if (BN(editedValue).isZero()) {
return;
}
......@@ -500,8 +500,8 @@ class Send extends Component {
const { label: inputLabel } = selectors().getBalance(account, inputCurrency);
const { label: outputLabel } = selectors().getBalance(account, outputCurrency);
const validRecipientAddress = web3 && web3.utils.isAddress(recipient);
const inputIsZero = BN(inputValue).isEqualTo(BN(0));
const outputIsZero = BN(outputValue).isEqualTo(BN(0));
const inputIsZero = BN(inputValue).isZero();
const outputIsZero = BN(outputValue).isZero();
let nextStepMessage;
if (inputError || outputError) {
......
......@@ -71,8 +71,8 @@ class Swap extends Component {
let outputError = '';
let isValid = true;
let isUnapproved = this.isUnapproved();
const inputIsZero = BN(inputValue).isEqualTo(BN(0));
const outputIsZero = BN(outputValue).isEqualTo(BN(0));
const inputIsZero = BN(inputValue).isZero();
const outputIsZero = BN(outputValue).isZero();
if (!inputValue || inputIsZero || !outputValue || outputIsZero || !inputCurrency || !outputCurrency || isUnapproved) {
isValid = false;
......@@ -97,19 +97,19 @@ class Swap extends Component {
isUnapproved() {
const { account, exchangeAddresses, selectors } = this.props;
const { inputCurrency } = this.state;
const { inputCurrency, inputValue } = this.state;
if (!inputCurrency || inputCurrency === 'ETH') {
return false;
}
const { value, label } = selectors().getApprovals(
const { value: allowance, label, decmals } = selectors().getApprovals(
inputCurrency,
account,
exchangeAddresses.fromToken[inputCurrency]
);
if (!label || value.isLessThan(BN(10 ** 22))) {
if (label && allowance.isLessThan(BN(inputValue * 10 ** decimals || 0))) {
return true;
}
......@@ -125,7 +125,7 @@ class Swap extends Component {
const editedValue = lastEditedField === INPUT ? this.state.inputValue : this.state.outputValue;
if (BN(editedValue).isEqualTo(BN(0))) {
if (BN(editedValue).isZero()) {
return;
}
......@@ -483,8 +483,8 @@ class Swap extends Component {
outputCurrency,
} = this.state;
const inputIsZero = BN(inputValue).isEqualTo(BN(0));
const outputIsZero = BN(outputValue).isEqualTo(BN(0));
const inputIsZero = BN(inputValue).isZero();
const outputIsZero = BN(outputValue).isZero();
if (!inputCurrency || !outputCurrency) {
return (
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment