36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
async function run(nodeName, networkInfo, index) {
|
|
const { wsUri, userDefinedTypes } = networkInfo.nodesByName[nodeName];
|
|
const api = await zombie.connect(wsUri, userDefinedTypes);
|
|
|
|
await zombie.util.cryptoWaitReady();
|
|
|
|
// account to submit tx
|
|
const keyring = new zombie.Keyring({ type: "sr25519" });
|
|
const alice = keyring.addFromUri("//Alice");
|
|
|
|
await new Promise(async (resolve, reject) => {
|
|
const unsub = await api.tx.sudo
|
|
.sudo(api.tx.configuration.setNodeFeature(Number(index), true))
|
|
.signAndSend(alice, ({ status, isError }) => {
|
|
if (status.isInBlock) {
|
|
console.log(
|
|
`Transaction included at blockhash ${status.asInBlock}`,
|
|
);
|
|
} else if (status.isFinalized) {
|
|
console.log(
|
|
`Transaction finalized at blockHash ${status.asFinalized}`,
|
|
);
|
|
unsub();
|
|
return resolve();
|
|
} else if (isError) {
|
|
console.log(`Transaction error`);
|
|
reject(`Transaction error`);
|
|
}
|
|
});
|
|
});
|
|
|
|
return 0;
|
|
}
|
|
|
|
module.exports = { run };
|