@etherspot/prime-sdk
Version:
Etherspot Prime (Account Abstraction) SDK
26 lines (25 loc) • 1.02 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.TransformBigNumber = void 0;
const ethers_1 = require("ethers");
const class_transformer_1 = require("class-transformer");
const utils_1 = require("../utils");
function TransformBigNumber() {
return (0, class_transformer_1.Transform)((params) => {
const { type, value } = params;
let result = null;
switch (type) {
case class_transformer_1.TransformationType.PLAIN_TO_CLASS:
result = value ? ethers_1.BigNumber.from(value) : null;
break;
case class_transformer_1.TransformationType.CLASS_TO_CLASS:
result = value;
break;
case class_transformer_1.TransformationType.CLASS_TO_PLAIN:
result = (0, utils_1.isBigNumber)(value) ? ethers_1.BigNumber.from(value).toHexString() : '0x00';
break;
}
return result;
});
}
exports.TransformBigNumber = TransformBigNumber;
;