Discussions
RESET hook namespace data
over 2 years ago by f1f47a23
Hi while testing peggy example I tried to RESET the hook namespace data
https://xrpl-hooks.readme.io/docs/sethook-transaction#namespace-reset
Is there a quick way to do this task inside the online hook ide tool filled with examples I am testing currently
or maybe do I have to create a small project outside here that sends the right "SetHook" txn using Richard's xrpl-hooks lib
below is the code I wrote online but it doesn't work, probably for "xrpl-accountlib" not supporting hooks.
thank you.
// reset-nshook.js
// RESET HOOK NAMESPACE
// from modified trust-user.js
import lib from "https://esm.sh/xrpl-accountlib?bundle";
import { XrplClient } from "https://esm.sh/xrpl-client?bundle";
import keypairs from "https://esm.sh/ripple-keypairs?bundle";
/**
* @input {Account.secret} hook_secret Hook Account
*/
const { hook_secret} = process.env
const hook_keypair = lib.derive.familySeed(hook_secret);
const hook_account = keypairs.deriveAddress(hook_keypair.keypair.publicKey);
const client = new XrplClient('wss://hooks-testnet-v2.xrpl-labs.com');
const main = async () => {
const { account_data } = await client.send({ command: 'account_info', 'account': hook_account });
if (!account_data) {
console.log('Account not found.');
client.close();
return;
}
const tx = {
TransactionType: "SetHook",
Account: hook_account,
Fee: "2000000",
Sequence: account_data.Sequence,
//Flags: 262144,
Hooks:
[
{
Hook: {
// absent CreateCode: fs.readFileSync('accept.wasm').toString('hex').toUpperCase(),
// absent HookOn: '0000000000000000',
HookNamespace: "2F8A0C01F668BCA73EC51C0D8DA77D419582347055E99D5D04FCF73B47BEBCED",
// absent HookApiVersion: 0,
Flags:2 // hsfOVERRIDE: 1, hsfNSDELETE: 2,
}
}
]
};
//!!!! lib.sign() doesn't handle "SetHook"
const { signedTransaction } = lib.sign(tx, hook_keypair);
const submit = await client.send({ command: 'submit', 'tx_blob': signedTransaction });
console.log(submit);
console.log('Shutting down...');
client.close();
};
main();