Files
pezkuwi-sdk/tools/usdt-bridge/examples/gen_automation_key.rs
T
Satoshi Qazi Muhammed eb821b2ff5 Rewrite pezbridge-bot as notify-only, drop Noter key custody entirely
Renewing the automation key's spending allowance always needs 3-of-5
multisig approval regardless, so having this bot hold one signer's
(Noter's) private key on a VPS to auto-submit one of those three
signatures was never actually saving a real step - the other two
signers still had to sign manually every time. Once pwap-web shipped
a real multisig operations UI (and now wallet-android's Bridge screen
too), the bot's only remaining job is to detect a low allowance and
notify all 5 signers via Telegram - they each sign with their own
wallet through one of pwap-web, pezbridge-sign.pex.mom, or the wallet
app directly. Noter's mnemonic was removed from the VPS entirely
(shred -u) after this rewrite was deployed and verified.

Also adds gen_automation_key.rs (one-off key generation helper) and
the updated systemd unit with LoadCredential removed.
2026-07-14 07:38:24 -07:00

28 lines
1.0 KiB
Rust

use anyhow::Result;
fn main() -> Result<()> {
let (pair, phrase, _) = sp_core::sr25519::Pair::generate_with_phrase(None);
use sp_core::Pair as _;
let public = pair.public();
let account = sp_core::crypto::AccountId32::from(public.0);
let ss58 = sp_core::crypto::Ss58Codec::to_ss58check_with_version(
&account,
sp_core::crypto::Ss58AddressFormat::custom(42),
);
let out = serde_json::json!({
"warning": "CONTAINS PRIVATE SEED PHRASE - KEEP SECURE - NOT IN GIT - NOT IN LOGS",
"role": "usdt-bridge relayer automation key - LIMITED delegated allowance only via Assets.approve_transfer, never asset owner/admin",
"ss58_address_pezkuwi": ss58,
"scheme": "sr25519",
"mnemonic": phrase,
});
std::fs::write("/home/myhez/res/bridge_automation_key.json", serde_json::to_string_pretty(&out)?)?;
println!("Generated automation key.");
println!("Address (never the mnemonic): {}", ss58);
println!("Saved to /home/myhez/res/bridge_automation_key.json");
Ok(())
}