More
Examples
Real output from the repository scripts.
Real chain check
chaine 4663, bloc 84176731 courbe Pons vivante 0xF04F72EaE8cc3f751830Baf20713Bb877E010131 NOMINAL : 8 wallets, une seule liste d autorisations EIP-7702, 8 achats sur une vraie courbe bras 1 ok jetons recus 570782.26818 ETH restant 0.009 bras 2 ok jetons recus 570130.87264 ETH restant 0.009 bras 3 ok jetons recus 569480.59156 ETH restant 0.009 ... bras 8 ok jetons recus 566245.81429 ETH restant 0.009 CONTROLES refuse : sans les autorisations 7702 (les wallets ne sont pas delegues) refuse : appels modifies pour un wallet (signature ne correspond plus) refuse : signature d un autre wallet refuse : mode atomique : un bras invalide annule les 8
Local node run (real type-4 transaction)
UNE transaction (type 4) : bloc 12, gas 951810, 8 bras la courbe a vu 8 acheteurs distincts, dans le meme bloc 12 gas par wallet : 118976 rejeu refuse (nonce deja consomme) OK : 8 wallets, une transaction EIP-7702, un bloc.
Fire from code
const arms = O.newArms(8);
const prepared = await Promise.all(arms.map((a) => O.prepareArm({
privateKey: a.privateKey, chainId: 4663, impl: IMPL, deadline,
calls: [{ to: CURVE, value: eth(0.05), data: O.call.curveBuy(eth(0.05), 0n, a.address) }],
})));
const receipt = await O.fire(sponsor, OCTOPUS, prepared, { atomic: true });