UNPKG

@kiroboio/fct-core

Version:

Kirobo.io FCT Core library

99 lines 5.01 kB
import { ethers } from "ethers"; const { keccak256, toUtf8Bytes } = ethers.utils; export const multicallContracts = { 1: "0xcA11bde05977b3631167028862bE2a173976CA11", 42161: "0xcA11bde05977b3631167028862bE2a173976CA11", 10: "0xcA11bde05977b3631167028862bE2a173976CA11", 8453: "0xcA11bde05977b3631167028862bE2a173976CA11", // // Testnets 11155111: "0xcA11bde05977b3631167028862bE2a173976CA11", 5: "0xcA11bde05977b3631167028862bE2a173976CA11", 421613: "0xcA11bde05977b3631167028862bE2a173976CA11", }; export const EMPTY_HASH = "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"; // EXTERNAL VARIABLES export const ExternalVariableBaseAddress = "0xFC00000000000000000000000000000000000000"; export const ExternalVariableBaseBytes32 = "0xFC00000000000000000000000000000000000000000000000000000000000000"; // OUTPUT VARIABLES // = 0xFD00000000000000000000000000000| 00000 | 0000 // The max value is = FD00000000000000000000000000010000000000; export const OutputVariableBaseAddress = "0xFD00000000000000000000000000000000000000"; export const OutputVariableBaseBytes32 = "0xFD00000000000000000000000000000000000000000000000000000000000000"; export const MaxOutputVariableAddress = "0xFD00000000000000000000000000010000000000"; export const MaxOutputVariableBytes32 = "0xFD00000000000000000000000000000000000000000000000000010000000000"; export const BackOutputVariableBaseAddress = "0xFDB0000000000000000000000000000000000000"; export const BackOutputVariableBaseBytes32 = "0xFDB0000000000000000000000000000000000000000000000000000000000000"; export const MaxBackOutputVariableAddress = "0xFDB0000000000000000000000000010000000000"; export const MaxBackOutputVariableBytes32 = "0xFDB0000000000000000000000000000000000000000000000000010000000000"; // MULTICALL OUTPUT VARIABLES export const MulticallOutputVariableBaseAddress = "0xEE00000000000000000000000000000000000000"; export const MulticallOutputVariableBaseBytes32 = "0xEE00000000000000000000000000000000000000000000000000000000000000"; export const BackMulticallOutputVariableBaseAddress = "0xEF00000000000000000000000000000000000000"; export const BackMulticallOutputVariableBaseBytes32 = "0xEF00000000000000000000000000000000000000000000000000000000000000"; // COMPUTED VARIABLES export const ComputedBaseAddress = "0xFE00000000000000000000000000000000000000"; export const ComputedBaseBytes32 = "0xFE00000000000000000000000000000000000000000000000000000000000000"; export const ValidationBase = "0xE900000000000000000000000000000000000000000000000000000000000000"; export const SolverAddress = "0xFA0B000000000000000000000000000000000000"; export const MinerAddress = "0xFA0A000000000000000000000000000000000000"; export const InvestorAddress = "0xFA0C000000000000000000000000000000000000"; export const ActivatorAddress = "0xFA0D000000000000000000000000000000000000"; export const VARX_FCT_MESSAGE_HASH = "0xFB0D000000000000000000000000000000000000000000000000000000000000"; export const VAR_TX_GAS_PRICE = "0x00FB0C000000000000000000000000000000000000"; export const VARX_TX_GAS_PRICE = "0xFB0C000000000000000000000000000000000000000000000000000000000000"; export const VAR_FCT_MESSAGE_HASH = "0x00FB0D000000000000000000000000000000000000"; const allVariables = [ ExternalVariableBaseBytes32, OutputVariableBaseBytes32, BackOutputVariableBaseBytes32, MulticallOutputVariableBaseBytes32, BackMulticallOutputVariableBaseBytes32, ComputedBaseBytes32, ValidationBase, SolverAddress, MinerAddress, InvestorAddress, ActivatorAddress, VARX_FCT_MESSAGE_HASH, VAR_TX_GAS_PRICE, VARX_TX_GAS_PRICE, VAR_FCT_MESSAGE_HASH, ].map((variable) => variable.toLowerCase()); export const ValidationOperator = { equal: keccak256(toUtf8Bytes("equal")), "not equal": keccak256(toUtf8Bytes("not equal")), "greater than": keccak256(toUtf8Bytes("greater than")), "greater equal than": keccak256(toUtf8Bytes("greater equal than")), or: keccak256(toUtf8Bytes("or")), "or not": keccak256(toUtf8Bytes("or not")), and: keccak256(toUtf8Bytes("and")), "and not": keccak256(toUtf8Bytes("and not")), }; export const CALL_TYPE = { ACTION: "0", VIEW_ONLY: "1", LIBRARY: "2", LIBRARY_VIEW_ONLY: "3", }; export const CALL_TYPE_MSG = { ACTION: "action", VIEW_ONLY: "view only", LIBRARY: "library: action", LIBRARY_VIEW_ONLY: "library: view only", }; // Reverse Call Type MSG export const CALL_TYPE_MSG_REV = { action: "ACTION", "view only": "VIEW_ONLY", "library: action": "LIBRARY", "library: view only": "LIBRARY_VIEW_ONLY", }; export const FCT_VAULT_ADDRESS = "FCT_VAULT_ADDRESS"; export function isVariable(value) { if (typeof value !== "string") return false; const hexString = value.toLowerCase().slice(0, 15); return allVariables.some((variable) => variable.startsWith(hexString)); } //# sourceMappingURL=misc.js.map