Eslint rule for block curlies (#3955)
* Add curly rule * Fix pre-existing issues with new rule
This commit is contained in:
		
							parent
							
								
									466f84f485
								
							
						
					
					
						commit
						714298aa9a
					
				| @ -11,11 +11,12 @@ | |||||||
|     "FileReader": true |     "FileReader": true | ||||||
|   }, |   }, | ||||||
|   "rules": { |   "rules": { | ||||||
|     "object-curly-spacing": ["error", "always"], |     "curly": ["error", "all"], | ||||||
|     "no-debugger": "error", |  | ||||||
|     "no-alert": "error", |  | ||||||
|     "jsx-quotes": ["error", "prefer-single"], |     "jsx-quotes": ["error", "prefer-single"], | ||||||
|     "react/jsx-curly-spacing": ["error", "always"], |     "no-alert": "error", | ||||||
|     "object-property-newline": 0 |     "no-debugger": "error", | ||||||
|  |     "object-curly-spacing": ["error", "always"], | ||||||
|  |     "object-property-newline": 0, | ||||||
|  |     "react/jsx-curly-spacing": ["error", "always"] | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -32,7 +32,8 @@ export default class BadgeReg { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   certifierCount () { |   certifierCount () { | ||||||
|     return this._registry.getContract('badgereg') |     return this._registry | ||||||
|  |       .getContract('badgereg') | ||||||
|       .then((badgeReg) => { |       .then((badgeReg) => { | ||||||
|         return badgeReg.instance.badgeCount.call({}, []) |         return badgeReg.instance.badgeCount.call({}, []) | ||||||
|           .then((count) => count.valueOf()); |           .then((count) => count.valueOf()); | ||||||
| @ -43,7 +44,9 @@ export default class BadgeReg { | |||||||
|     if (this.certifiers[id]) { |     if (this.certifiers[id]) { | ||||||
|       return Promise.resolve(this.certifiers[id]); |       return Promise.resolve(this.certifiers[id]); | ||||||
|     } |     } | ||||||
|     return this._registry.getContract('badgereg') | 
 | ||||||
|  |     return this._registry | ||||||
|  |       .getContract('badgereg') | ||||||
|       .then((badgeReg) => { |       .then((badgeReg) => { | ||||||
|         return badgeReg.instance.badge.call({}, [ id ]); |         return badgeReg.instance.badge.call({}, [ id ]); | ||||||
|       }) |       }) | ||||||
| @ -56,6 +59,7 @@ export default class BadgeReg { | |||||||
|         name = name === ZERO32 |         name = name === ZERO32 | ||||||
|           ? null |           ? null | ||||||
|           : hex2Ascii(name); |           : hex2Ascii(name); | ||||||
|  | 
 | ||||||
|         return this.fetchMeta(id) |         return this.fetchMeta(id) | ||||||
|           .then(({ title, icon }) => { |           .then(({ title, icon }) => { | ||||||
|             const data = { address, id, name, title, icon }; |             const data = { address, id, name, title, icon }; | ||||||
| @ -66,7 +70,8 @@ export default class BadgeReg { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   fetchMeta (id) { |   fetchMeta (id) { | ||||||
|     return this._registry.getContract('badgereg') |     return this._registry | ||||||
|  |       .getContract('badgereg') | ||||||
|       .then((badgeReg) => { |       .then((badgeReg) => { | ||||||
|         return Promise.all([ |         return Promise.all([ | ||||||
|           badgeReg.instance.meta.call({}, [id, 'TITLE']), |           badgeReg.instance.meta.call({}, [id, 'TITLE']), | ||||||
| @ -76,7 +81,11 @@ export default class BadgeReg { | |||||||
|       .then(([ title, icon ]) => { |       .then(([ title, icon ]) => { | ||||||
|         title = bytesToHex(title); |         title = bytesToHex(title); | ||||||
|         title = title === ZERO32 ? null : hex2Ascii(title); |         title = title === ZERO32 ? null : hex2Ascii(title); | ||||||
|         if (bytesToHex(icon) === ZERO32) icon = null; | 
 | ||||||
|  |         if (bytesToHex(icon) === ZERO32) { | ||||||
|  |           icon = null; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         return { title, icon }; |         return { title, icon }; | ||||||
|       }); |       }); | ||||||
|   } |   } | ||||||
| @ -85,6 +94,7 @@ export default class BadgeReg { | |||||||
|     if (!this.contracts[certifier]) { |     if (!this.contracts[certifier]) { | ||||||
|       this.contracts[certifier] = this._api.newContract(ABI, certifier); |       this.contracts[certifier] = this._api.newContract(ABI, certifier); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|     const contract = this.contracts[certifier]; |     const contract = this.contracts[certifier]; | ||||||
| 
 | 
 | ||||||
|     return contract.instance.certified.call({}, [address]); |     return contract.instance.certified.call({}, [address]); | ||||||
|  | |||||||
| @ -25,7 +25,11 @@ export const event = (name, event) => ({ type: 'events event', name, event }); | |||||||
| export const subscribe = (name, from = 0, to = 'pending') => | export const subscribe = (name, from = 0, to = 'pending') => | ||||||
|   (dispatch, getState) => { |   (dispatch, getState) => { | ||||||
|     const { contract } = getState(); |     const { contract } = getState(); | ||||||
|     if (!contract) return; | 
 | ||||||
|  |     if (!contract) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     const opt = { fromBlock: from, toBlock: to, limit: 50 }; |     const opt = { fromBlock: from, toBlock: to, limit: 50 }; | ||||||
| 
 | 
 | ||||||
|     dispatch(start(name, from, to)); |     dispatch(start(name, from, to)); | ||||||
| @ -70,9 +74,16 @@ export const subscribe = (name, from = 0, to = 'pending') => | |||||||
| export const unsubscribe = (name) => | export const unsubscribe = (name) => | ||||||
|   (dispatch, getState) => { |   (dispatch, getState) => { | ||||||
|     const state = getState(); |     const state = getState(); | ||||||
|     if (!state.contract) return; | 
 | ||||||
|  |     if (!state.contract) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     const subscriptions = state.events.subscriptions; |     const subscriptions = state.events.subscriptions; | ||||||
|     if (!(name in subscriptions) || subscriptions[name] === null) return; | 
 | ||||||
|  |     if (!(name in subscriptions) || subscriptions[name] === null) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     state.contract |     state.contract | ||||||
|       .unsubscribe(subscriptions[name]) |       .unsubscribe(subscriptions[name]) | ||||||
|  | |||||||
| @ -29,10 +29,18 @@ const initialState = { | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const sortEvents = (a, b) => { | const sortEvents = (a, b) => { | ||||||
|   if (a.state === 'pending' && b.state !== 'pending') return -1; |   if (a.state === 'pending' && b.state !== 'pending') { | ||||||
|   if (a.state !== 'pending' && b.state === 'pending') return 1; |     return -1; | ||||||
|  |   } else if (a.state !== 'pending' && b.state === 'pending') { | ||||||
|  |     return 1; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   const d = b.block.minus(a.block).toFixed(0); |   const d = b.block.minus(a.block).toFixed(0); | ||||||
|   if (d === 0) return b.index.minus(a.index).toFixed(0); | 
 | ||||||
|  |   if (d === 0) { | ||||||
|  |     return b.index.minus(a.index).toFixed(0); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   return d; |   return d; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -26,7 +26,11 @@ export const fail = () => ({ type: 'lookup error' }); | |||||||
| 
 | 
 | ||||||
| export const lookup = (name, key) => (dispatch, getState) => { | export const lookup = (name, key) => (dispatch, getState) => { | ||||||
|   const { contract } = getState(); |   const { contract } = getState(); | ||||||
|   if (!contract) return; | 
 | ||||||
|  |   if (!contract) { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   const getAddress = contract.functions |   const getAddress = contract.functions | ||||||
|     .find((f) => f.name === 'getAddress'); |     .find((f) => f.name === 'getAddress'); | ||||||
| 
 | 
 | ||||||
| @ -36,7 +40,11 @@ export const lookup = (name, key) => (dispatch, getState) => { | |||||||
|     .then((address) => dispatch(success(address))) |     .then((address) => dispatch(success(address))) | ||||||
|     .catch((err) => { |     .catch((err) => { | ||||||
|       console.error(`could not lookup ${key} for ${name}`); |       console.error(`could not lookup ${key} for ${name}`); | ||||||
|       if (err) console.error(err.stack); | 
 | ||||||
|  |       if (err) { | ||||||
|  |         console.error(err.stack); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       dispatch(fail()); |       dispatch(fail()); | ||||||
|     }); |     }); | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -31,8 +31,14 @@ export const reserve = (name) => (dispatch, getState) => { | |||||||
|   const contract = state.contract; |   const contract = state.contract; | ||||||
|   const fee = state.fee; |   const fee = state.fee; | ||||||
| 
 | 
 | ||||||
|   if (!contract || !account) return; |   if (!contract || !account) { | ||||||
|   if (alreadyQueued(state.names.queue, 'reserve', name)) return; |     return; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   if (alreadyQueued(state.names.queue, 'reserve', name)) { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   const reserve = contract.functions.find((f) => f.name === 'reserve'); |   const reserve = contract.functions.find((f) => f.name === 'reserve'); | ||||||
| 
 | 
 | ||||||
|   name = name.toLowerCase(); |   name = name.toLowerCase(); | ||||||
| @ -61,7 +67,11 @@ export const reserve = (name) => (dispatch, getState) => { | |||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       console.error(`could not reserve ${name}`); |       console.error(`could not reserve ${name}`); | ||||||
|       if (err) console.error(err.stack); | 
 | ||||||
|  |       if (err) { | ||||||
|  |         console.error(err.stack); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       dispatch(reserveFail(name)); |       dispatch(reserveFail(name)); | ||||||
|     }); |     }); | ||||||
| }; | }; | ||||||
| @ -76,8 +86,15 @@ export const drop = (name) => (dispatch, getState) => { | |||||||
|   const state = getState(); |   const state = getState(); | ||||||
|   const account = state.accounts.selected; |   const account = state.accounts.selected; | ||||||
|   const contract = state.contract; |   const contract = state.contract; | ||||||
|   if (!contract || !account) return; | 
 | ||||||
|   if (alreadyQueued(state.names.queue, 'drop', name)) return; |   if (!contract || !account) { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   if (alreadyQueued(state.names.queue, 'drop', name)) { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   const drop = contract.functions.find((f) => f.name === 'drop'); |   const drop = contract.functions.find((f) => f.name === 'drop'); | ||||||
| 
 | 
 | ||||||
|   name = name.toLowerCase(); |   name = name.toLowerCase(); | ||||||
| @ -102,7 +119,11 @@ export const drop = (name) => (dispatch, getState) => { | |||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       console.error(`could not drop ${name}`); |       console.error(`could not drop ${name}`); | ||||||
|       if (err) console.error(err.stack); | 
 | ||||||
|  |       if (err) { | ||||||
|  |         console.error(err.stack); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       dispatch(reserveFail(name)); |       dispatch(reserveFail(name)); | ||||||
|     }); |     }); | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -32,7 +32,11 @@ export const update = (name, key, value) => (dispatch, getState) => { | |||||||
|       dispatch(success()); |       dispatch(success()); | ||||||
|     }).catch((err) => { |     }).catch((err) => { | ||||||
|       console.error(`could not update ${key} record of ${name}`); |       console.error(`could not update ${key} record of ${name}`); | ||||||
|       if (err) console.error(err.stack); | 
 | ||||||
|  |       if (err) { | ||||||
|  |         console.error(err.stack); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       dispatch(fail()); |       dispatch(fail()); | ||||||
|     }); |     }); | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -38,19 +38,29 @@ export const fetchContract = () => (dispatch) => | |||||||
|   }) |   }) | ||||||
|   .catch((err) => { |   .catch((err) => { | ||||||
|     console.error('could not fetch contract'); |     console.error('could not fetch contract'); | ||||||
|     if (err) console.error(err.stack); | 
 | ||||||
|  |     if (err) { | ||||||
|  |       console.error(err.stack); | ||||||
|  |     } | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
| export const setFee = (fee) => ({ type: 'set fee', fee }); | export const setFee = (fee) => ({ type: 'set fee', fee }); | ||||||
| 
 | 
 | ||||||
| const fetchFee = () => (dispatch, getState) => { | const fetchFee = () => (dispatch, getState) => { | ||||||
|   const { contract } = getState(); |   const { contract } = getState(); | ||||||
|   if (!contract) return; | 
 | ||||||
|  |   if (!contract) { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   contract.instance.fee.call() |   contract.instance.fee.call() | ||||||
|   .then((fee) => dispatch(setFee(fee))) |   .then((fee) => dispatch(setFee(fee))) | ||||||
|   .catch((err) => { |   .catch((err) => { | ||||||
|     console.error('could not fetch fee'); |     console.error('could not fetch fee'); | ||||||
|     if (err) console.error(err.stack); | 
 | ||||||
|  |     if (err) { | ||||||
|  |       console.error(err.stack); | ||||||
|  |     } | ||||||
|   }); |   }); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @ -58,11 +68,18 @@ export const setOwner = (owner) => ({ type: 'set owner', owner }); | |||||||
| 
 | 
 | ||||||
| export const fetchOwner = () => (dispatch, getState) => { | export const fetchOwner = () => (dispatch, getState) => { | ||||||
|   const { contract } = getState(); |   const { contract } = getState(); | ||||||
|   if (!contract) return; | 
 | ||||||
|  |   if (!contract) { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   contract.instance.owner.call() |   contract.instance.owner.call() | ||||||
|   .then((owner) => dispatch(setOwner(owner))) |   .then((owner) => dispatch(setOwner(owner))) | ||||||
|   .catch((err) => { |   .catch((err) => { | ||||||
|     console.error('could not fetch owner'); |     console.error('could not fetch owner'); | ||||||
|     if (err) console.error(err.stack); | 
 | ||||||
|  |     if (err) { | ||||||
|  |       console.error(err.stack); | ||||||
|  |     } | ||||||
|   }); |   }); | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -173,20 +173,26 @@ export default class QueryAction extends Component { | |||||||
|   onQueryKeyChange = (event, index, queryKey) => { |   onQueryKeyChange = (event, index, queryKey) => { | ||||||
|     this.setState({ |     this.setState({ | ||||||
|       queryKey, |       queryKey, | ||||||
|       form: { valid: false, value: '' } |       form: { | ||||||
|  |         valid: false, | ||||||
|  |         value: '' | ||||||
|  |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   onChange = (valid, value) => { |   onChange = (valid, value) => { | ||||||
|     this.setState({ |     this.setState({ | ||||||
|       form: { |       form: { | ||||||
|         valid, value |         valid, | ||||||
|  |         value | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   onQuery = () => { |   onQuery = () => { | ||||||
|     if (!this.state.form.valid) return; |     if (!this.state.form.valid) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     const { queryKey, form } = this.state; |     const { queryKey, form } = this.state; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -128,8 +128,12 @@ export default class RegisterAction extends Component { | |||||||
|   renderContent () { |   renderContent () { | ||||||
|     const { error, complete } = this.props; |     const { error, complete } = this.props; | ||||||
| 
 | 
 | ||||||
|     if (error) return this.renderError(); |     if (error) { | ||||||
|     if (complete) return this.renderComplete(); |       return this.renderError(); | ||||||
|  |     } else if (complete) { | ||||||
|  |       return this.renderComplete(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     return this.renderForm(); |     return this.renderForm(); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -57,7 +57,9 @@ export default class CustomChip extends Component { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   renderIcon (isAddress, address) { |   renderIcon (isAddress, address) { | ||||||
|     if (!isAddress) return; |     if (!isAddress) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     return ( |     return ( | ||||||
|       <IdentityIcon |       <IdentityIcon | ||||||
|  | |||||||
| @ -73,7 +73,9 @@ export default class InputText extends Component { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   renderLoading () { |   renderLoading () { | ||||||
|     if (!this.state.loading) return; |     if (!this.state.loading) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     return ( |     return ( | ||||||
|       <div className={ styles['input-loading'] }> |       <div className={ styles['input-loading'] }> | ||||||
| @ -83,7 +85,9 @@ export default class InputText extends Component { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   renderIsValid () { |   renderIsValid () { | ||||||
|     if (this.state.loading || !this.state.valid) return; |     if (this.state.loading || !this.state.valid) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     return ( |     return ( | ||||||
|       <div className={ styles['input-icon'] }> |       <div className={ styles['input-icon'] }> | ||||||
| @ -120,8 +124,13 @@ export default class InputText extends Component { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   onKeyDown = (event) => { |   onKeyDown = (event) => { | ||||||
|     if (!this.props.onEnter) return; |     if (!this.props.onEnter) { | ||||||
|     if (event.keyCode !== 13) return; |       return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     if (event.keyCode !== 13) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     this.props.onEnter(); |     this.props.onEnter(); | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -71,9 +71,14 @@ const validateAddress = (address) => { | |||||||
| 
 | 
 | ||||||
| const validateTokenAddress = (address, contract, simple) => { | const validateTokenAddress = (address, contract, simple) => { | ||||||
|   const addressValidation = validateAddress(address); |   const addressValidation = validateAddress(address); | ||||||
|   if (!addressValidation.valid) return addressValidation; |  | ||||||
| 
 | 
 | ||||||
|   if (simple) return addressValidation; |   if (!addressValidation.valid) { | ||||||
|  |     return addressValidation; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   if (simple) { | ||||||
|  |     return addressValidation; | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
|   return getTokenTotalSupply(address) |   return getTokenTotalSupply(address) | ||||||
|     .then(balance => { |     .then(balance => { | ||||||
| @ -96,7 +101,10 @@ const validateTokenAddress = (address, contract, simple) => { | |||||||
|         }); |         }); | ||||||
|     }) |     }) | ||||||
|     .then((result) => { |     .then((result) => { | ||||||
|       if (result) return result; |       if (result) { | ||||||
|  |         return result; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       return addressValidation; |       return addressValidation; | ||||||
|     }); |     }); | ||||||
| }; | }; | ||||||
| @ -130,7 +138,10 @@ const validateTLA = (tla, contract, simple) => { | |||||||
|       } |       } | ||||||
|     }) |     }) | ||||||
|     .then((result) => { |     .then((result) => { | ||||||
|       if (result) return result; |       if (result) { | ||||||
|  |         return result; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       return { |       return { | ||||||
|         value: fTLA, |         value: fTLA, | ||||||
|         error: null, |         error: null, | ||||||
| @ -215,16 +226,28 @@ const validateURL = (string) => { | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| export const validate = (value, type, contract) => { | export const validate = (value, type, contract) => { | ||||||
|   if (type === ADDRESS_TYPE) return validateAddress(value); |   switch (type) { | ||||||
|   if (type === TOKEN_ADDRESS_TYPE) return validateTokenAddress(value, contract); |     case ADDRESS_TYPE: | ||||||
|   if (type === SIMPLE_TOKEN_ADDRESS_TYPE) return validateTokenAddress(value, contract, true); |       return validateAddress(value); | ||||||
|   if (type === TLA_TYPE) return validateTLA(value, contract); |     case TOKEN_ADDRESS_TYPE: | ||||||
|   if (type === SIMPLE_TLA_TYPE) return validateTLA(value, contract, true); |       return validateTokenAddress(value, contract); | ||||||
|   if (type === UINT_TYPE) return validateUint(value); |     case SIMPLE_TOKEN_ADDRESS_TYPE: | ||||||
|   if (type === DECIMAL_TYPE) return validateDecimal(value); |       return validateTokenAddress(value, contract, true); | ||||||
|   if (type === STRING_TYPE) return validateString(value); |     case TLA_TYPE: | ||||||
|   if (type === HEX_TYPE) return validateHex(value); |       return validateTLA(value, contract); | ||||||
|   if (type === URL_TYPE) return validateURL(value); |     case SIMPLE_TLA_TYPE: | ||||||
| 
 |       return validateTLA(value, contract, true); | ||||||
|   return { valid: true, error: null }; |     case UINT_TYPE: | ||||||
|  |       return validateUint(value); | ||||||
|  |     case DECIMAL_TYPE: | ||||||
|  |       return validateDecimal(value); | ||||||
|  |     case STRING_TYPE: | ||||||
|  |       return validateString(value); | ||||||
|  |     case HEX_TYPE: | ||||||
|  |       return validateHex(value); | ||||||
|  |     case URL_TYPE: | ||||||
|  |       return validateURL(value); | ||||||
|  |     default: | ||||||
|  |       return { valid: true, error: null }; | ||||||
|  |   } | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -119,7 +119,9 @@ export const subscribeEvents = () => (dispatch, getState) => { | |||||||
|         return; |         return; | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       if (!logs || logs.length === 0) return; |       if (!logs || logs.length === 0) { | ||||||
|  |         return; | ||||||
|  |       } | ||||||
| 
 | 
 | ||||||
|       logs.forEach(log => { |       logs.forEach(log => { | ||||||
|         const event = log.event; |         const event = log.event; | ||||||
|  | |||||||
| @ -46,7 +46,9 @@ export default class AddMeta extends Component { | |||||||
|   state = initState; |   state = initState; | ||||||
| 
 | 
 | ||||||
|   render () { |   render () { | ||||||
|     if (!this.props.isTokenOwner) return null; |     if (!this.props.isTokenOwner) { | ||||||
|  |       return null; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     return (<div className={ styles['add-meta'] }> |     return (<div className={ styles['add-meta'] }> | ||||||
|       <RaisedButton |       <RaisedButton | ||||||
| @ -98,7 +100,10 @@ export default class AddMeta extends Component { | |||||||
|   renderContent () { |   renderContent () { | ||||||
|     const { complete } = this.state; |     const { complete } = this.state; | ||||||
| 
 | 
 | ||||||
|     if (complete) return this.renderComplete(); |     if (complete) { | ||||||
|  |       return this.renderComplete(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     return this.renderForm(); |     return this.renderForm(); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -162,7 +162,10 @@ export default class Token extends Component { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   renderBase (base) { |   renderBase (base) { | ||||||
|     if (!base || base < 0) return null; |     if (!base || base < 0) { | ||||||
|  |       return null; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     return ( |     return ( | ||||||
|       <Chip |       <Chip | ||||||
|         value={ Math.log10(base).toString() } |         value={ Math.log10(base).toString() } | ||||||
| @ -171,7 +174,10 @@ export default class Token extends Component { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   renderAddress (address) { |   renderAddress (address) { | ||||||
|     if (!address) return null; |     if (!address) { | ||||||
|  |       return null; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     return ( |     return ( | ||||||
|       <Chip |       <Chip | ||||||
|         isAddress |         isAddress | ||||||
| @ -191,7 +197,9 @@ export default class Token extends Component { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   renderOwner (owner) { |   renderOwner (owner) { | ||||||
|     if (!owner) return null; |     if (!owner) { | ||||||
|  |       return null; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     const ownerInfo = this.props.ownerAccountInfo; |     const ownerInfo = this.props.ownerAccountInfo; | ||||||
| 
 | 
 | ||||||
| @ -258,85 +266,107 @@ export default class Token extends Component { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (isMetaLoading) { |     if (isMetaLoading) { | ||||||
|       return (<div> |       return ( | ||||||
|         <Loading size={ 0.5 } /> |         <div> | ||||||
|       </div>); |           <Loading size={ 0.5 } /> | ||||||
|  |         </div> | ||||||
|  |       ); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (!meta) return; |     if (!meta) { | ||||||
|  |       return null; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     const metaData = metaDataKeys.find(m => m.value === meta.query); |     const metaData = metaDataKeys.find(m => m.value === meta.query); | ||||||
| 
 | 
 | ||||||
|     if (!meta.value) { |     if (!meta.value) { | ||||||
|       return (<div> |       return ( | ||||||
|         <p className={ styles['meta-query'] }> |         <div> | ||||||
|           No <span className={ styles['meta-key'] }> |           <p className={ styles['meta-query'] }> | ||||||
|             { metaData.label.toLowerCase() } |             No <span className={ styles['meta-key'] }> | ||||||
|           </span> meta-data... |               { metaData.label.toLowerCase() } | ||||||
|         </p> |             </span> meta-data... | ||||||
|       </div>); |           </p> | ||||||
|  |         </div> | ||||||
|  |       ); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (meta.query === 'IMG') { |     if (meta.query === 'IMG') { | ||||||
|       const imageHash = meta.value.replace(/^0x/, ''); |       const imageHash = meta.value.replace(/^0x/, ''); | ||||||
| 
 | 
 | ||||||
|       return (<div> |       return ( | ||||||
|         <p className={ styles['meta-query'] }> |         <div> | ||||||
|           <span className={ styles['meta-key'] }> |           <p className={ styles['meta-query'] }> | ||||||
|             { metaData.label } |             <span className={ styles['meta-key'] }> | ||||||
|           </span> meta-data: |               { metaData.label } | ||||||
|         </p> |             </span> meta-data: | ||||||
|         <div className={ styles['meta-image'] }> |           </p> | ||||||
|           <img src={ `${parityNode}/api/content/${imageHash}/` } /> |           <div className={ styles['meta-image'] }> | ||||||
|  |             <img src={ `${parityNode}/api/content/${imageHash}/` } /> | ||||||
|  |           </div> | ||||||
|         </div> |         </div> | ||||||
|       </div>); |       ); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (meta.query === 'A') { |     if (meta.query === 'A') { | ||||||
|       const address = meta.value.slice(0, 42); |       const address = meta.value.slice(0, 42); | ||||||
| 
 | 
 | ||||||
|       return (<div> |       return ( | ||||||
|  |         <div> | ||||||
|  |           <p className={ styles['meta-query'] }> | ||||||
|  |             <span className={ styles['meta-key'] }> | ||||||
|  |               { metaData.label } | ||||||
|  |             </span> meta-data: | ||||||
|  |           </p> | ||||||
|  |           <p className={ styles['meta-value'] }> | ||||||
|  |             { api.util.toChecksumAddress(address) } | ||||||
|  |           </p> | ||||||
|  |         </div> | ||||||
|  |       ); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return ( | ||||||
|  |       <div> | ||||||
|         <p className={ styles['meta-query'] }> |         <p className={ styles['meta-query'] }> | ||||||
|           <span className={ styles['meta-key'] }> |           <span className={ styles['meta-key'] }> | ||||||
|             { metaData.label } |             { metaData.label } | ||||||
|           </span> meta-data: |           </span> meta-data: | ||||||
|         </p> |         </p> | ||||||
|         <p className={ styles['meta-value'] }> |         <p className={ styles['meta-value'] }>{ meta.value }</p> | ||||||
|           { api.util.toChecksumAddress(address) } |       </div> | ||||||
|         </p> |     ); | ||||||
|       </div>); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     return (<div> |  | ||||||
|       <p className={ styles['meta-query'] }> |  | ||||||
|         <span className={ styles['meta-key'] }> |  | ||||||
|           { metaData.label } |  | ||||||
|         </span> meta-data: |  | ||||||
|       </p> |  | ||||||
|       <p className={ styles['meta-value'] }>{ meta.value }</p> |  | ||||||
|     </div>); |  | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   renderMetaPending () { |   renderMetaPending () { | ||||||
|     const isMetaPending = this.props.metaPending; |     const isMetaPending = this.props.metaPending; | ||||||
|     if (!isMetaPending) return; |  | ||||||
| 
 | 
 | ||||||
|     return (<div> |     if (!isMetaPending) { | ||||||
|       <p className={ styles['meta-info'] }> |       return null; | ||||||
|         Meta-Data pending... |     } | ||||||
|       </p> | 
 | ||||||
|     </div>); |     return ( | ||||||
|  |       <div> | ||||||
|  |         <p className={ styles['meta-info'] }> | ||||||
|  |           Meta-Data pending... | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     ); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   renderMetaMined () { |   renderMetaMined () { | ||||||
|     const isMetaMined = this.props.metaMined; |     const isMetaMined = this.props.metaMined; | ||||||
|     if (!isMetaMined) return; |  | ||||||
| 
 | 
 | ||||||
|     return (<div> |     if (!isMetaMined) { | ||||||
|       <p className={ styles['meta-info'] }> |       return null; | ||||||
|         Meta-Data saved on the blockchain! |     } | ||||||
|       </p> | 
 | ||||||
|     </div>); |     return ( | ||||||
|  |       <div> | ||||||
|  |         <p className={ styles['meta-info'] }> | ||||||
|  |           Meta-Data saved on the blockchain! | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     ); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   onUnregister = () => { |   onUnregister = () => { | ||||||
|  | |||||||
| @ -113,7 +113,10 @@ export default class VerificationStore { | |||||||
| 
 | 
 | ||||||
|   @action setCode = (code) => { |   @action setCode = (code) => { | ||||||
|     const { contract, account } = this; |     const { contract, account } = this; | ||||||
|     if (!contract || !account || code.length === 0) return; | 
 | ||||||
|  |     if (!contract || !account || code.length === 0) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     const confirm = contract.functions.find((fn) => fn.name === 'confirm'); |     const confirm = contract.functions.find((fn) => fn.name === 'confirm'); | ||||||
|     const options = { from: account }; |     const options = { from: account }; | ||||||
|  | |||||||
| @ -94,8 +94,12 @@ export default class CertificationsMiddleware { | |||||||
|             console.error('Failed to fetch new certifier events:', err); |             console.error('Failed to fetch new certifier events:', err); | ||||||
|           }); |           }); | ||||||
|       }, 10 * 1000, true); |       }, 10 * 1000, true); | ||||||
|  | 
 | ||||||
|       api.subscribe('eth_blockNumber', (err) => { |       api.subscribe('eth_blockNumber', (err) => { | ||||||
|         if (err) return; |         if (err) { | ||||||
|  |           return; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         fetchChanges(); |         fetchChanges(); | ||||||
|       }); |       }); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -134,16 +134,24 @@ class List extends Component { | |||||||
|       const balanceA = balances[accountA.address]; |       const balanceA = balances[accountA.address]; | ||||||
|       const balanceB = balances[accountB.address]; |       const balanceB = balances[accountB.address]; | ||||||
| 
 | 
 | ||||||
|       if (!balanceA && !balanceB) return 0; |       if (!balanceA && !balanceB) { | ||||||
|       if (balanceA && !balanceB) return -1; |         return 0; | ||||||
|       if (!balanceA && balanceB) return 1; |       } else if (balanceA && !balanceB) { | ||||||
|  |         return -1; | ||||||
|  |       } else if (!balanceA && balanceB) { | ||||||
|  |         return 1; | ||||||
|  |       } | ||||||
| 
 | 
 | ||||||
|       const ethA = balanceA.tokens.find(token => token.token.tag.toLowerCase() === 'eth'); |       const ethA = balanceA.tokens.find(token => token.token.tag.toLowerCase() === 'eth'); | ||||||
|       const ethB = balanceB.tokens.find(token => token.token.tag.toLowerCase() === 'eth'); |       const ethB = balanceB.tokens.find(token => token.token.tag.toLowerCase() === 'eth'); | ||||||
| 
 | 
 | ||||||
|       if (!ethA && !ethB) return 0; |       if (!ethA && !ethB) { | ||||||
|       if (ethA && !ethB) return -1; |         return 0; | ||||||
|       if (!ethA && ethB) return 1; |       } else if (ethA && !ethB) { | ||||||
|  |         return -1; | ||||||
|  |       } else if (!ethA && ethB) { | ||||||
|  |         return 1; | ||||||
|  |       } | ||||||
| 
 | 
 | ||||||
|       return -1 * ethA.value.comparedTo(ethB.value); |       return -1 * ethA.value.comparedTo(ethB.value); | ||||||
|     } |     } | ||||||
| @ -159,9 +167,13 @@ class List extends Component { | |||||||
|         .sort() |         .sort() | ||||||
|         .join(''); |         .join(''); | ||||||
| 
 | 
 | ||||||
|       if (!tagsA && !tagsB) return 0; |       if (!tagsA && !tagsB) { | ||||||
|       if (tagsA && !tagsB) return -1; |         return 0; | ||||||
|       if (!tagsA && tagsB) return 1; |       } else if (tagsA && !tagsB) { | ||||||
|  |         return -1; | ||||||
|  |       } else if (!tagsA && tagsB) { | ||||||
|  |         return 1; | ||||||
|  |       } | ||||||
| 
 | 
 | ||||||
|       return tagsA.localeCompare(tagsB); |       return tagsA.localeCompare(tagsB); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -95,7 +95,10 @@ export default class InputQuery extends Component { | |||||||
|       return (<LinearProgress mode='indeterminate' />); |       return (<LinearProgress mode='indeterminate' />); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (!results || results.length < 1) return null; |     if (!results || results.length < 1) { | ||||||
|  |       return null; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     return outputs |     return outputs | ||||||
|       .map((out, index) => ({ |       .map((out, index) => ({ | ||||||
|         name: out.name, |         name: out.name, | ||||||
| @ -181,7 +184,9 @@ export default class InputQuery extends Component { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   renderValue (value) { |   renderValue (value) { | ||||||
|     if (!value) return 'no data'; |     if (!value) { | ||||||
|  |       return 'no data'; | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     const { api } = this.context; |     const { api } = this.context; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user