@volare.finance/utils.js
Version:
The Blockchain Utils
41 lines • 1.42 kB
JavaScript
;
/**
* @file nft.redeem.ts
* @author astra <astra@volare.finance>
* @date 2022
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.signEIP712NftRedeemData = exports.getEIP712NftRedeemData = void 0;
const tslib_1 = require("tslib");
const network_1 = require("../network");
const eip712_1 = require("./eip712");
const NAME = 'NftRedeem';
const ABI = [
{ type: 'address', name: 'recipient' },
{ type: 'uint256', name: 'amount' },
{ type: 'uint256', name: 'nonce' },
];
const DOMAIN_DEFAULT = {
chainId: 1,
verifyingContract: network_1.ZERO_ADDR,
name: '',
version: '1.0.0',
};
function getEIP712NftRedeemData(domain, message) {
return {
domain: Object.assign(Object.assign(Object.assign(Object.assign({}, DOMAIN_DEFAULT), (domain.chainId ? { chainId: domain.chainId } : {})), (domain.name ? { name: domain.name } : {})), (domain.verifyingContract ? { verifyingContract: domain.verifyingContract } : {})),
types: {
[NAME]: ABI,
},
message,
primaryType: NAME,
};
}
exports.getEIP712NftRedeemData = getEIP712NftRedeemData;
function signEIP712NftRedeemData(signer, data) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
return (0, eip712_1.getSignature)(signer, data);
});
}
exports.signEIP712NftRedeemData = signEIP712NftRedeemData;
//# sourceMappingURL=nft.redeem.js.map