@volare.finance/utils.js
Version:
The Blockchain Utils
48 lines • 1.64 kB
JavaScript
;
/**
* @file eip712.ts
* @author astra <astra@volare.finance>
* @date 2022
*/
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const dotenv_1 = require("dotenv");
const ethers_1 = require("ethers");
const src_1 = require("../src");
(0, dotenv_1.config)({
path: '.env',
encoding: 'utf8',
});
const DEPLOYER_PRIVATE_KEY = String(process.env.DEPLOYER_PRIVATE_KEY);
(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const wallet = new ethers_1.Wallet(DEPLOYER_PRIVATE_KEY);
console.log(wallet.address);
const login = (0, src_1.getEIP712LoginData)({
chainId: src_1.ChainId.Mumbai,
name: 'Creature',
}, {
address: wallet.address,
nonce: 0xaa,
});
console.log(login);
const [loginSig, loginSigBytes] = yield (0, src_1.signEIP712LoginData)(wallet, login);
console.log(loginSig);
const loginAddress = (0, src_1.eip712RecoverAddress)(login, loginSigBytes);
console.log(loginAddress);
const redeem = (0, src_1.getEIP712NftRedeemData)({
chainId: 31337,
name: 'Creature',
verifyingContract: '0x5FbDB2315678afecb367f032d93F642f64180aa3',
}, {
recipient: wallet.address,
amount: 1,
nonce: 0xaa,
});
console.log(redeem);
const [redeemSig, redeemSigBytes] = yield (0, src_1.signEIP712NftRedeemData)(wallet, redeem);
console.log(redeemSig);
console.log(redeemSigBytes);
const redeemAddress = (0, src_1.eip712RecoverAddress)(redeem, redeemSig);
console.log(redeemAddress);
}))();
//# sourceMappingURL=eip712.js.map