@nexex/types
Version:
75 lines • 2.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var bignumber_js_1 = __importDefault(require("bignumber.js"));
var NULL_ADDRESS = '0x0000000000000000000000000000000000000000';
exports.lowerCaseSerializer = {
Serialize: function (x) {
return String(x).toLowerCase();
},
Deserialize: function (x) {
return String(x).toLowerCase();
}
};
exports.bnSerializer = {
Serialize: function (val) {
return val.toString(10);
},
Deserialize: function (val) {
return new bignumber_js_1.default(val);
}
};
exports.bn2HexSerializer = {
Serialize: function (val) {
return "0x" + val.toString(16);
},
Deserialize: function (val) {
return new bignumber_js_1.default(val);
}
};
exports.bnSec2dateSerializer = {
Serialize: function (val) {
return new Date(val.times(1000).toNumber());
},
Deserialize: function (date) {
if (typeof date === 'number') {
return new bignumber_js_1.default(date);
}
else if (typeof date === 'string') {
return new bignumber_js_1.default(new Date(date).getTime()).div(1000).decimalPlaces(0);
}
else {
return new bignumber_js_1.default(date.getTime()).div(1000).decimalPlaces(0);
}
}
};
exports.dateSerializer = {
Serialize: function (date) {
return date;
},
Deserialize: function (date) {
return date;
}
};
exports.orderNormalizeSerializer = {
Serialize: function (val) {
return {
maker: val.maker.toLowerCase(),
taker: val.taker ? val.taker.toLowerCase() : NULL_ADDRESS,
makerFeeRate: val.makerFeeRate,
takerFeeRate: val.takerFeeRate,
makerTokenAmount: val.makerTokenAmount,
takerTokenAmount: val.takerTokenAmount,
makerTokenAddress: val.makerTokenAddress.toLowerCase(),
takerTokenAddress: val.takerTokenAddress.toLowerCase(),
salt: val.salt,
exchangeContractAddress: val.exchangeContractAddress.toLowerCase(),
makerFeeRecipient: val.makerFeeRecipient.toLowerCase(),
expirationUnixTimestampSec: val.expirationUnixTimestampSec,
ecSignature: val.ecSignature
};
}
};
//# sourceMappingURL=serializers.js.map