difftreelog
NFTPAR-91: SIT: Connection can be established. Fixed unhandled promise rejection. Fixed unknown type warnings.
in: master
5 files changed
README.mddiffbeforeafterboth--- a/README.md
+++ b/README.md
@@ -191,6 +191,10 @@
"Sponsor": "AccountId",
"UnconfirmedSponsor": "AccountId"
},
+ "ApprovePermissions": {
+ "Approved": "AccountId",
+ "Amount": "u64"
+ },
"RawData": "Vec<u8>",
"Address": "AccountId",
"LookupSource": "AccountId",
tests/src/config.tsdiffbeforeafterboth--- a/tests/src/config.ts
+++ b/tests/src/config.ts
@@ -34,6 +34,20 @@
"ReFungible": "(u32, u32)"
}
},
+ "Ownership": {
+ "Owner": "AccountId",
+ "Fraction": "u128"
+ },
+ "FungibleItemType": {
+ "Collection": "u64",
+ "Owner": "AccountId",
+ "Value": "u128"
+ },
+ "ReFungibleItemType": {
+ "Collection": "u64",
+ "Owner": "Vec<Ownership>",
+ "Data": "Vec<u8>"
+ },
"NftItemType": {
"Collection": "u64",
"Owner": "AccountId",
@@ -57,10 +71,15 @@
"Description": "Vec<u16>",
"TokenPrefix": "Vec<u8>",
"CustomDataSize": "u32",
+ "MintMode": "bool",
"OffchainSchema": "Vec<u8>",
"Sponsor": "AccountId",
"UnconfirmedSponsor": "AccountId"
},
+ "ApprovePermissions": {
+ "Approved": "AccountId",
+ "Amount": "u64"
+ },
"RawData": "Vec<u8>",
"Address": "AccountId",
"LookupSource": "AccountId",
tests/src/connection.test.tsdiffbeforeafterboth--- a/tests/src/connection.test.ts
+++ b/tests/src/connection.test.ts
@@ -15,9 +15,9 @@
});
});
- it('Cannot connect to 0.0.0.0', () => {
- const neverConnectProvider = new WsProvider('ws://0.0.0.0:9944');
- expect((async () => {
+ it('Cannot connect to 255.255.255.255', async () => {
+ const neverConnectProvider = new WsProvider('ws://255.255.255.255:9944');
+ await expect((async () => {
await usingApi(async api => {
const health = await api.rpc.system.health();
}, { provider: neverConnectProvider });
tests/src/substrate/promisify-substrate.tsdiffbeforeafterboth445export default function promisifySubstrate<T extends (...args: any[]) => any>(api: ApiPromise, action: T): (...args: Parameters<T>) => Promise<PromiseType<ReturnType<T>>> {5export default function promisifySubstrate<T extends (...args: any[]) => any>(api: ApiPromise, action: T): (...args: Parameters<T>) => Promise<PromiseType<ReturnType<T>>> {6 return (...args: Parameters<T>) => {6 return (...args: Parameters<T>) => {7 const promise = new Promise<PromiseType<ReturnType<T>>>((resolve, reject) => {7 const promise = new Promise<PromiseType<ReturnType<T>>>((resolve: ((result: PromiseType<ReturnType<T>>) => void) | undefined, reject: ((error: any) => void) | undefined) => {8 const cleanup = () => {8 const cleanup = () => {9 api.off('disconnected', fail);9 api.off('disconnected', fail);10 api.off('error', fail);10 api.off('error', fail);11 resolve = undefined;12 reject = undefined;11 };13 };121413 const success = (r: any) => {15 const success = (r: any) => {14 cleanup();16 resolve && resolve(r);15 resolve(r);17 cleanup();16 };18 };17 const fail = (error: any) => {19 const fail = (error: any) => {18 cleanup();20 reject && reject(error);19 reject(error);21 cleanup();20 };22 };21 23 22 api.on('disconnected', fail);24 api.on('disconnected', fail);tests/src/substrate/substrate-api.tsdiffbeforeafterboth--- a/tests/src/substrate/substrate-api.ts
+++ b/tests/src/substrate/substrate-api.ts
@@ -10,13 +10,16 @@
export default async function usingApi(action: (api: ApiPromise) => Promise<void>, settings: ApiOptions | undefined = undefined): Promise<void> {
settings = settings || defaultApiOptions();
- let api: ApiPromise | undefined = undefined;
+ let api: ApiPromise = new ApiPromise(settings);
try {
- api = new ApiPromise(settings);
- await promisifySubstrate(api, () => api && api.isReady)();
- await action(api);
+ await promisifySubstrate(api, async () => {
+ if(api) {
+ await api.isReadyOrError;
+ await action(api);
+ }
+ })();
} finally {
- api && api.disconnect();
+ await api.disconnect();
}
}
\ No newline at end of file