@citizenwallet/sdk
Version:
An sdk to easily work with citizen wallet.
71 lines • 3.71 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.addOwnerCallData = exports.callOnCardCallData = exports.updateWhitelistCallData = exports.updateInstanceContractsCallData = exports.createInstanceCallData = exports.tokenMintCallData = exports.tokenTransferCallData = exports.tokenTransferSingleEventTopic = exports.tokenTransferEventTopic = void 0;
const ethers_1 = require("ethers");
const ERC20_abi_json_1 = __importDefault(require("../abi/ERC20.abi.json"));
const CardManagerModule_abi_json_1 = __importDefault(require("../abi/CardManagerModule.abi.json"));
const erc20Interface = new ethers_1.Interface(ERC20_abi_json_1.default);
const cardManagerModuleInterface = new ethers_1.Interface(CardManagerModule_abi_json_1.default);
exports.tokenTransferEventTopic = (0, ethers_1.id)("Transfer(address,address,uint256)");
exports.tokenTransferSingleEventTopic = (0, ethers_1.id)("TransferSingle(address,address,address,uint256,uint256)");
const tokenTransferCallData = (to, value) => {
return (0, ethers_1.getBytes)(erc20Interface.encodeFunctionData("transfer", [to, value]));
};
exports.tokenTransferCallData = tokenTransferCallData;
const tokenMintCallData = (to, value) => {
return (0, ethers_1.getBytes)(erc20Interface.encodeFunctionData("mint", [to, value]));
};
exports.tokenMintCallData = tokenMintCallData;
const createInstanceCallData = (config, contracts) => {
const cardConfig = config.primarySafeCardConfig;
const instanceId = (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)(cardConfig.instance_id));
return (0, ethers_1.getBytes)(cardManagerModuleInterface.encodeFunctionData("createInstance", [
instanceId,
contracts,
]));
};
exports.createInstanceCallData = createInstanceCallData;
const updateInstanceContractsCallData = (config, contracts) => {
const cardConfig = config.primarySafeCardConfig;
const instanceId = (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)(cardConfig.instance_id));
return (0, ethers_1.getBytes)(cardManagerModuleInterface.encodeFunctionData("updateInstanceContracts", [
instanceId,
contracts,
]));
};
exports.updateInstanceContractsCallData = updateInstanceContractsCallData;
const updateWhitelistCallData = (config, addresses) => {
const cardConfig = config.primarySafeCardConfig;
const instanceId = (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)(cardConfig.instance_id));
return (0, ethers_1.getBytes)(cardManagerModuleInterface.encodeFunctionData("updateWhitelist", [
instanceId,
addresses,
]));
};
exports.updateWhitelistCallData = updateWhitelistCallData;
const callOnCardCallData = (config, hashedSerial, to, value, data) => {
const cardConfig = config.primarySafeCardConfig;
const instanceId = (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)(cardConfig.instance_id));
return (0, ethers_1.getBytes)(cardManagerModuleInterface.encodeFunctionData("callOnCard", [
instanceId,
hashedSerial,
to,
value,
data,
]));
};
exports.callOnCardCallData = callOnCardCallData;
const addOwnerCallData = (config, hashedSerial, newOwner) => {
const cardConfig = config.primarySafeCardConfig;
const instanceId = (0, ethers_1.keccak256)((0, ethers_1.toUtf8Bytes)(cardConfig.instance_id));
return (0, ethers_1.getBytes)(cardManagerModuleInterface.encodeFunctionData("addOwner", [
instanceId,
hashedSerial,
newOwner,
]));
};
exports.addOwnerCallData = addOwnerCallData;
//# sourceMappingURL=index.js.map