Kc Chng (CEO)

Digix Core Code Review

As mentioned in the last update, DappHub has agreed to performing a code review of Digix’s Core contracts.

As an extra pair of eyes, we have also gotten Vincent Eli’s agreement to take a look at our digix core contracts. Vincent is the founder of S3 Labs and CTO of StabL (A Consensys project). Vincent, being an experienced Ethereum developer with a PhD in decision / game theory, would definitely help us navigate or advice on any potential pitfalls (if there are any) in our smart contracts.

DappHub devs have begun a quick overview into our repository, and have estimated it could take between 4 to 6 weeks to do a full security audit. We will await their quotation for this project, and find a suitable date and time to begin, estimated no later than 1st May. When the formal audit begins, we will act on the ETC refund proposal.

We will, as usual, keep everyone informed of our progress.

Anthony Eufemio (CTO)

Last Sunday I gave a talk at UC Berkeley with the Blockchain @ Berkeley crowd on how to code ICS/CACP using the Digix development tools and truffle. The talk can be found here. (https://livestream.com/accounts/24422201/events/7219413).

Last week we have sent off our DigixCore 2.0 contracts to DappHub for an initial 3rd party code review. I am also doing my own run through the entire 1300 lines of solidity code to ensure quality, writing more unit tests, and adding NatSpec documentation.

Chris Hitchcott (Core Dev)

I was hoping to get this week’s Spectrum update released last Saturday, but I unfortunately was caught off guard by an unusually intense illness that took the most part of last week to recover from. I am now back in action, and apologies for the delay.

Anyways, since the last update I’ve been working intensely on Spectrum, specifically completing the integration of Ledger Nano and Offline Signing (via QR code) support. Check out this video for a run down:

Spectrum Alpha

There’s also a live demo available at: https://spectrum-alpha.digixdev.com/. We’ve even thrown in the Digix PoA UI we showed in an earlier update as an example dapplet (including the pdf/jpg/png/ipfs combiner), although it’s in read-only mode as the contract system only allows specific addresses to interact with it.

Right now there are a few caveats — some reasons why you shouldn’t be using Spectrum for anything serious right now:

EIP155 support is implemented but not fully tested across multiple networks (and Kovan currently accepts transactions from other chains, so will need to be forked)

I haven’t been able to test Ledger Nano with different firmware versions yet — it’s only tested with firmware 1.2.0.

If you try and have hundreds of accounts with hundreds of tokens, you’ll probably run into some rendering performance bottlenecks (the app feeling sluggish). This will be addressed using redux middleware to batch requests / updates in a future update

Browser support; we’ve only tested with Chrome and Android so far. Some of the features such as offline mode are unlikely to work on iOS; probably never, as it’s up to Apple to support web standards on iOS.

Finally, I also released the react-ledger-container package, which includes some enhanced behaviour for interacting with the ledger in a react app (automatically connecting, fetching config, pausing the polling to sign transactions, etc), which will make maintenance and integration easier in the future.

cacp-contracts

git@github.com:DigixGlobal/cacp-contracts.git

f5fdc0f — [maint] bump npm version

f705d09 — [feature] contract checker

core2-storage-library-contracts

git@github.com:DigixGlobal/core2-storage-library-contracts.git

01c0693 — [maint] update CACP package

d21b9c7 — [feature] remove factories and use assembly to create adhoc addresses

6316f14 — [feature] end to end testing for Vendor Interface

4a90363 — [feature] Custodian delivery listing

2d9ae06 — [feature] marketplace order preocessing

1ad7b6c — [feature] List marketplace items in Vendor Interface

7bc1f97 — [wip] cleanup for dappsys guys

eafe825 — [feature] Product registration

7cbbae2 — [feature] Authority registration and query

git@github.com:DigixGlobal/digix.io-v2.git

539b6c7 — [maint] build

2c2850c — [maint] update slack invite link

react-ledger-container

git@github.com:DigixGlobal/react-ledger-container.git

8d9ba44 — [bugfix] expose raw ethLedger object to childProps

2c1f680 — [maint] minor tweak to chainId logic for eip155 (needs testing)

553ff6d — [features] implementation of eip155 (untested)

1898dd4 — [maint] update readme / package.json

c1b5c48 — [wip] inital commit; implenent container with polling & signTransaction

spectrum

git@github.com:DigixGlobal/Spectrum.git

9d2f241 — [wip] minor update to landing page

8e22456 — [wip] re-enable tokens, use infura

8fc1cf9 — [bugfix] allow cold address scannign with no existing addresses

bc13d78 — [wip] bump react-ledger-container version, show version in address list

399543b — [wip] add tx info to all tx ui

4aa4e55 — [wip] tx ui for (base) tokens

fed77e9 — [wip] better keystore menu, minor refactor

bf7fcd6 — [wip] landing modal warning, misc markup tweaks

29696a1 — [wip] add immediate checksum feedback to addressInput

5c2a048 — [wip] remove header from qr code scanner modal

cd5b5c1 — [wip] add qr code scanner to address input

6351e48 — [wip] more tweaks

63928e8 — [wip] minor ui/css tweaks

8b3fec6 — [wip] basics for nicer accounts dropdown

2aff8ae — [wip] update web3 to 0.18.4

fe46bb0 — [wip] rename ‘create’ buttons

6c5ff4f — [wip] add chainId to tx data

d9a3ada — [wip] validate existing addresses before inserting keystore

bec166f — [wip] import cold storage accounts via QR code

3a32d5b — [wip] explicitly export web3Util methods

1565880 — [wip] multiple addresses per cold storage keystore

d389cf3 — [wip] misc. refactoring of keystore managmenet

e39e9f3 — [wip] enable digix_assets dapplet, show read-only message

d036d34 — [wip] make defaultAddress not mandatory

20c1dbb — [wip] add babel-eslint dep to package.json

f099116 — [wip] add shrinkwrap

e7de38b — [wip] complete nicer offline signing workflow

937377d — [bugfix] use ledgerContainer in creationForm

7a5bb20 — [wip] basic working offline signing (needs nicer UI)

69213a2 — [wip] use @digix/react-ledger-container

9b4c23d — [wip] minor cleanup; fix webpack linking

81a6ed2 — [wip] validation for tokens/networks

85bb7a5 — [wip] export all web3 helpers from stringUtils

4a4bf0a — [wip] move modal form submit buttons into ezmodal

8e99bf5 — [maint] update ezmodal version, replace change with formChange & drop target api

fbe1807 — [wip] clean up ledger transaction sigining, add onReady to ledgerContainer

7d232e9 — [wip] ledger nano support (needs a little cleaning up)

68804d9 — [wip] ledger nano crud

18646a9 — [wip] complete UI for creation

4a63476 — [wip] add modal option for networks_token_selector to show modal button

4967dd1 — [maint] refactor networks & defaultNetworks into token selector

640b9a0 — [bugfix] deleting keystores doens’t flip out

2a750f4 — [wip] begin integration with keystore modal

7f741ef — [wip] minor pagination refactor

4d3f489 — [wip] paginated ledger addresses (+ fix HD path)

1922133 — [wip] ledger nano accounts selector

7372a9b — [wip] refactor v3 & redux provider to expect signed tx

8a30ca7 — [wip] add addHexPredix to stringUtils

7fdab30 — [wip] rename headers

sui-react-ezmodal