diff --git a/package.json b/package.json
index 95b3cfa0ba..8c230b86a0 100644
--- a/package.json
+++ b/package.json
@@ -10,10 +10,10 @@
"packages/*"
],
"resolutions": {
- "@polkadot/api": "^0.99.0-beta.16",
- "@polkadot/api-contract": "^0.99.0-beta.16",
+ "@polkadot/api": "^0.99.1",
+ "@polkadot/api-contract": "^0.99.1",
"@polkadot/keyring": "^1.7.1",
- "@polkadot/types": "^0.99.0-beta.16",
+ "@polkadot/types": "^0.99.1",
"@polkadot/util": "^1.7.1",
"@polkadot/util-crypto": "^1.7.1",
"babel-core": "^7.0.0-bridge.0",
@@ -36,8 +36,8 @@
"devDependencies": {
"@babel/core": "^7.7.5",
"@babel/register": "^7.7.4",
- "@babel/runtime": "^7.7.5",
- "@polkadot/dev-react": "^0.32.0-beta.17",
+ "@babel/runtime": "^7.7.6",
+ "@polkadot/dev-react": "^0.32.0-beta.19",
"@polkadot/ts": "^0.1.88",
"autoprefixer": "^9.7.1",
"empty": "^0.10.1",
diff --git a/packages/app-123code/src/AccountSelector.tsx b/packages/app-123code/src/AccountSelector.tsx
index 289b60b869..b20e6b7e5c 100644
--- a/packages/app-123code/src/AccountSelector.tsx
+++ b/packages/app-123code/src/AccountSelector.tsx
@@ -27,7 +27,7 @@ function AccountSelector ({ className, onChange }: Props): React.ReactElement
| - {formatNumber(value.info.end.sub(chain_bestNumber).subn(1))} blocks + {formatNumber(value.info.end.sub(bestNumber).subn(1))} blocks |
@@ -112,7 +114,7 @@ function Referendum ({ chain_bestNumber, className, democracy_referendumVotesFor
);
}
-export default withMulti(
+export default translate(
styled(Referendum)`
.democracy--Referendum-results {
margin-bottom: 1em;
@@ -121,10 +123,5 @@ export default withMulti(
text-align: center;
}
}
- `,
- translate,
- withCalls
- {label}{
- chain_subscribeNewHeads
- ? chain_subscribeNewHeads.hash.toHex()
- : undefined
- }
+ {label || ''}{newHead?.hash.toHex()}
);
}
-
-export default withCalls
@@ -35,14 +39,14 @@ function Parachain ({ className, paraId, parachains_heads, parachains_relayDispa
@@ -63,7 +63,7 @@ function AddressMini ({ balance, bonded, children, className, iconInfo, isPadded
{withAddress && (
{withName
- ?
diff --git a/packages/react-components/src/AddressRow.tsx b/packages/react-components/src/AddressRow.tsx
index 405b8cf604..4c0aa6aa5d 100644
--- a/packages/react-components/src/AddressRow.tsx
+++ b/packages/react-components/src/AddressRow.tsx
@@ -11,7 +11,7 @@ import { AccountId, AccountIndex, Address } from '@polkadot/types/interfaces';
import BN from 'bn.js';
import React from 'react';
import styled from 'styled-components';
-import { withCalls, withMulti } from '@polkadot/react-api';
+import { withCalls, withMulti } from '@polkadot/react-api/hoc';
import BaseIdentityIcon from '@polkadot/react-identicon';
import keyring from '@polkadot/ui-keyring';
diff --git a/packages/react-components/src/AddressSmall.tsx b/packages/react-components/src/AddressSmall.tsx
index 9ef40e941d..2dc6480f5b 100644
--- a/packages/react-components/src/AddressSmall.tsx
+++ b/packages/react-components/src/AddressSmall.tsx
@@ -16,7 +16,7 @@ interface Props {
onClickName?: () => void;
overrideName?: React.ReactNode;
toggle?: any;
- value?: string | Address | AccountId;
+ value?: string | Address | AccountId | null | Uint8Array;
}
function AddressSmall ({ className, defaultName, onClickName, overrideName, toggle, value }: Props): React.ReactElement
-
{address}
diff --git a/packages/react-components/src/InputAddress/index.tsx b/packages/react-components/src/InputAddress/index.tsx
index 957d90bb3c..3df84b8b5d 100644
--- a/packages/react-components/src/InputAddress/index.tsx
+++ b/packages/react-components/src/InputAddress/index.tsx
@@ -9,7 +9,7 @@ import { Option } from './types';
import React from 'react';
import store from 'store';
import styled from 'styled-components';
-import { withMulti, withObservable } from '@polkadot/react-api';
+import { withMulti, withObservable } from '@polkadot/react-api/hoc';
import keyring from '@polkadot/ui-keyring';
import keyringOption from '@polkadot/ui-keyring/options';
import createKeyringItem from '@polkadot/ui-keyring/options/item';
diff --git a/packages/react-components/src/InputBalanceBonded.tsx b/packages/react-components/src/InputBalanceBonded.tsx
index af6d67eb52..968e70a997 100644
--- a/packages/react-components/src/InputBalanceBonded.tsx
+++ b/packages/react-components/src/InputBalanceBonded.tsx
@@ -13,7 +13,7 @@ import { BitLengthOption } from '@polkadot/react-components/constants';
import { calcTxLength } from '@polkadot/react-signer/Checks';
import { InputNumber } from '@polkadot/react-components';
import { SubmittableExtrinsic } from '@polkadot/api/promise/types';
-import { withCalls, withMulti, withApi } from '@polkadot/react-api';
+import { withCalls, withMulti, withApi } from '@polkadot/react-api/hoc';
import { ZERO_BALANCE, ZERO_FEES } from '@polkadot/react-signer/Checks/constants';
import { bnMax } from '@polkadot/util';
diff --git a/packages/react-components/src/TxButton.tsx b/packages/react-components/src/TxButton.tsx
index 1ad614f4d0..966d9513f0 100644
--- a/packages/react-components/src/TxButton.tsx
+++ b/packages/react-components/src/TxButton.tsx
@@ -8,7 +8,7 @@ import { TxButtonProps as Props } from './types';
import React from 'react';
import { SubmittableResult } from '@polkadot/api';
-import { withApi } from '@polkadot/react-api';
+import { withApi } from '@polkadot/react-api/hoc';
import { assert, isFunction, isUndefined } from '@polkadot/util';
import Button from './Button';
diff --git a/packages/react-components/src/Voting.tsx b/packages/react-components/src/Voting.tsx
index a8559c45d9..372c322888 100644
--- a/packages/react-components/src/Voting.tsx
+++ b/packages/react-components/src/Voting.tsx
@@ -9,7 +9,7 @@ import { SubjectInfo } from '@polkadot/ui-keyring/observable/types';
import BN from 'bn.js';
import React from 'react';
import keyring from '@polkadot/ui-keyring';
-import { withMulti, withObservable } from '@polkadot/react-api';
+import { withMulti, withObservable } from '@polkadot/react-api/hoc';
import translate from './translate';
import Button from './Button';
diff --git a/packages/react-components/src/util/toShortAddress.ts b/packages/react-components/src/util/toShortAddress.ts
index a54c2b72ca..9f225a5904 100644
--- a/packages/react-components/src/util/toShortAddress.ts
+++ b/packages/react-components/src/util/toShortAddress.ts
@@ -4,7 +4,7 @@
import { AccountId, AccountIndex, Address } from '@polkadot/types/interfaces';
-export default function toShortAddress (_address?: AccountId | AccountIndex | Address | string | null): string {
+export default function toShortAddress (_address?: AccountId | AccountIndex | Address | string | null | Uint8Array): string {
const address = (_address || '').toString();
return (address.length > 13)
diff --git a/packages/react-hooks/package.json b/packages/react-hooks/package.json
index ca35fe7d71..f2ba68d3f1 100644
--- a/packages/react-hooks/package.json
+++ b/packages/react-hooks/package.json
@@ -30,6 +30,6 @@
},
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-reactive#readme",
"dependencies": {
- "@babel/runtime": "^7.7.5"
+ "@babel/runtime": "^7.7.6"
}
}
diff --git a/packages/react-hooks/src/useCall.tsx b/packages/react-hooks/src/useCall.tsx
index b750aa9093..ac74008eda 100644
--- a/packages/react-hooks/src/useCall.tsx
+++ b/packages/react-hooks/src/useCall.tsx
@@ -6,9 +6,7 @@ import { Codec } from '@polkadot/types/types';
import { CallOptions, CallParam, CallParams } from './types';
import { useEffect, useRef, useState } from 'react';
-import { isUndefined } from '@polkadot/util';
-
-import { extractParams, transformIdentity } from './util';
+import { isNull, isUndefined } from '@polkadot/util';
interface TrackFnCallback {
(value: Codec): void;
@@ -31,6 +29,7 @@ interface TrackFn {
interface Tracker {
isActive: boolean;
count: number;
+ paramCount: number;
serialized: string | null;
subscriber: TrackFnResult | null;
}
@@ -39,10 +38,26 @@ interface TrackerRef {
current: Tracker;
}
+// the default transform, just returns what we have
+function transformIdentity (value: any): any {
+ return value;
+}
+
+// extract the serialized and mapped params, all ready for use in our call
+function extractParams (fn: any, params: any[], paramMap: (params: any[]) => any): [string, CallParams | null] {
+ return [
+ JSON.stringify({ f: fn?.name, p: params }),
+ params.length === 0 || !params.some((param): boolean => isNull(param) || isUndefined(null))
+ ? paramMap(params)
+ : null
+ ];
+}
+
// unsubscribe and remove from the tracker
function unsubscribe (tracker: TrackerRef): void {
+ tracker.current.isActive = false;
+
if (tracker.current.subscriber) {
- tracker.current.isActive = false;
tracker.current.subscriber.then((unsubFn): void => unsubFn());
tracker.current.subscriber = null;
}
@@ -55,20 +70,24 @@ function subscribe
@@ -82,10 +85,4 @@ export function Proposal ({ deposit, democracy_minimumDeposit = ZERO, onChange,
);
}
-export default withMulti(
- Proposal,
- translate,
- withCalls
{label || ''}{
- chain_bestNumberFinalized
- ? formatNumber(chain_bestNumberFinalized)
+ bestNumberFinalized
+ ? formatNumber(bestNumberFinalized)
: '-'
}{children}
);
}
-
-export default withCalls
{label || ''}{
- chain_bestNumber
- ? formatNumber(chain_bestNumber)
+ bestNumber
+ ? formatNumber(bestNumber)
: '-'
}{children}
);
}
-
-export default withCalls
- {label || ''}{
- accountNonce
- ? formatNumber(accountNonce)
- : '0'
- }{children}
+ {label || ''}{formatNumber(allBalances?.accountNonce)}{children}
);
}
-
-export default withCalls
{label || ''}
-
);
}
-
-export default withCalls
{label || ''}{
- babe_expectedBlockTime
- ? `${formatNumber(babe_expectedBlockTime.toNumber() / 1000)}s`
- : timestamp_minimumPeriod
- ? `${formatNumber(timestamp_minimumPeriod.gtn(1000) ? (timestamp_minimumPeriod.toNumber() / 500) : (timestamp_minimumPeriod.toNumber() * 2))}s`
+ api.consts?.babe?.expectedBlockTime
+ ? `${formatNumber(api.consts.babe.expectedBlockTime.toNumber() / 1000)}s`
+ : minimumPeriod
+ ? `${formatNumber(minimumPeriod.gtn(1000) ? (minimumPeriod.toNumber() / 500) : (minimumPeriod.toNumber() * 2))}s`
: '-'
}{children}
);
}
-
-// NOTE we are not combining this into one with a fallback, it becomes slightly tricky.
-// There must be a cleaner way with this logic, but as of now it works on Alex & Kusama
-// - babe bas the exact value in miliseconds
-// - non-babe on 2.x has the value in miliseconds (not catered for here)
-// - anything non-babe, i.e. Aura, needs to be multiplied by 2
-export default withCalls
{label || ''}{
- value
- ? `${formatBalance(value, false)}${formatBalance.calcSi(value).value}`
+ totalIssuance
+ ? `${formatBalance(totalIssuance, false)}${formatBalance.calcSi(totalIssuance).value}`
: '-'
}{children}
);
}
-
-export default withCalls |