1c0e57d984
This commit systematically rebrands various references from Parity Technologies' Polkadot/Substrate ecosystem to PezkuwiChain within the kurdistan-sdk. Key changes include: - Updated external repository URLs (zombienet-sdk, parity-db, parity-scale-codec, wasm-instrument) to point to pezkuwichain forks. - Modified internal documentation and code comments to reflect PezkuwiChain naming and structure. - Replaced direct references to with or specific paths within the for XCM, Pezkuwi, and other modules. - Cleaned up deprecated issue and PR references in various and files, particularly in and modules. - Adjusted image and logo URLs in documentation to point to PezkuwiChain assets. - Removed or rephrased comments related to external Polkadot/Substrate PRs and issues. This is a significant step towards fully customizing the SDK for the PezkuwiChain ecosystem.
60 lines
2.1 KiB
JavaScript
60 lines
2.1 KiB
JavaScript
//based on: https://polkadot.js.org/docs/api/examples/promise/transfer-events
|
|
|
|
const assert = require("assert");
|
|
|
|
async function run(nodeName, networkInfo, args) {
|
|
const {wsUri, userDefinedTypes} = networkInfo.nodesByName[nodeName];
|
|
const api = await zombie.connect(wsUri, userDefinedTypes);
|
|
|
|
// Construct the keyring after the API (crypto has an async init)
|
|
const keyring = new zombie.Keyring({ type: "sr25519" });
|
|
|
|
// Add Alice to our keyring with a hard-derivation path (empty phrase, so uses dev)
|
|
const alice = keyring.addFromUri('//Alice');
|
|
const bob = '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty';
|
|
|
|
// Create a extrinsic, transferring 10^20 units to Bob
|
|
const transfer = api.tx.balances.transferAllowDeath(bob, 10n**20n);
|
|
|
|
let transaction_success_event = false;
|
|
try {
|
|
await new Promise( async (resolve, reject) => {
|
|
const unsubscribe = await transfer
|
|
.signAndSend(alice, { nonce: -1 }, ({ events = [], status }) => {
|
|
console.log('Transaction status:', status.type);
|
|
|
|
if (status.isInBlock) {
|
|
console.log('Included at block hash', status.asInBlock.toHex());
|
|
console.log('Events:');
|
|
|
|
events.forEach(({ event: { data, method, section }, phase }) => {
|
|
console.log('\t', phase.toString(), `: ${section}.${method}`, data.toString());
|
|
|
|
if (section=="system" && method =="ExtrinsicSuccess") {
|
|
transaction_success_event = true;
|
|
}
|
|
});
|
|
} else if (status.isFinalized) {
|
|
console.log('Finalized block hash', status.asFinalized.toHex());
|
|
unsubscribe();
|
|
if (transaction_success_event) {
|
|
resolve();
|
|
} else {
|
|
reject("ExtrinsicSuccess has not been seen");
|
|
}
|
|
} else if (status.isError) {
|
|
unsubscribe();
|
|
reject("Transaction status.isError");
|
|
}
|
|
|
|
});
|
|
});
|
|
} catch (error) {
|
|
assert.fail("Transfer promise failed, error: " + error);
|
|
}
|
|
|
|
assert.ok("test passed");
|
|
}
|
|
|
|
module.exports = { run }
|