parity.js interfaces for vaults (#4497)

This commit is contained in:
Jaco Greeff
2017-02-09 17:07:08 +01:00
committed by Gav Wood
parent c69f515597
commit 7a627f88cb
5 changed files with 255 additions and 7 deletions

View File

@@ -17,6 +17,7 @@
import BigNumber from 'bignumber.js';
import { toChecksumAddress } from '../../abi/util/address';
import { isString } from '../util/types';
export function outAccountInfo (infos) {
return Object
@@ -344,3 +345,17 @@ export function outTraceReplay (trace) {
return trace;
}
export function outVaultMeta (meta) {
if (isString(meta)) {
try {
const obj = JSON.parse(meta);
return obj;
} catch (error) {
return {};
}
}
return meta || {};
}

View File

@@ -16,7 +16,7 @@
import BigNumber from 'bignumber.js';
import { outBlock, outAccountInfo, outAddress, outChainStatus, outDate, outHistogram, outNumber, outPeer, outPeers, outReceipt, outSyncing, outTransaction, outTrace } from './output';
import { outBlock, outAccountInfo, outAddress, outChainStatus, outDate, outHistogram, outNumber, outPeer, outPeers, outReceipt, outSyncing, outTransaction, outTrace, outVaultMeta } from './output';
import { isAddress, isBigNumber, isInstanceOf } from '../../../test/types';
describe('api/format/output', () => {
@@ -455,4 +455,22 @@ describe('api/format/output', () => {
expect(formatted.transactionPosition.toNumber()).to.equal(11);
});
});
describe('outVaultMeta', () => {
it('returns an exmpt object on null', () => {
expect(outVaultMeta(null)).to.deep.equal({});
});
it('returns the original value if not string', () => {
expect(outVaultMeta({ test: 123 })).to.deep.equal({ test: 123 });
});
it('returns an object from JSON string', () => {
expect(outVaultMeta('{"test":123}')).to.deep.equal({ test: 123 });
});
it('returns an empty object on invalid JSON', () => {
expect(outVaultMeta('{"test"}')).to.deep.equal({});
});
});
});