// const isDevelopment = import.meta.env.DEV === true; const isDevelopment = true; export const CRYPTO_SUITE_VERSION = 1; const CHECK_BLOCK_EVERY_MS = isDevelopment ? 1000 : 10000; const DEFAULT_GAS_PRICE_GWEI = 40; const MAX_GAS_PRICE_GWEI = 400; const MIN_GALAXY = 0; const MAX_GALAXY = 255; const MIN_STAR = 256; const MAX_STAR = 65535; const MIN_PLANET = 65536; const MAX_PLANET = 4294967297; const ZOD = MIN_GALAXY; const PLANET_ENTROPY_BITS = 64; const STAR_ENTROPY_BITS = 128; const GALAXY_ENTROPY_BITS = 384; const SEED_ENTROPY_BITS = 128; //TODO move into azimuth-js const GAS_LIMITS = { SPAWN: 250000, TRANSFER: 560000, //NOTE biggest, also update gas tank's max CONFIGURE_KEYS: 100000, SET_PROXY: 150000, // ESCAPE: 115000, //NOTE low sample size ADOPT: 100000, //NOTE low sample size CANCEL_ESCAPE: 200000, //NOTE no samples REJECT: 200000, //NOTE no samples DETACH: 200000, //NOTE no samples // GIFT_PLANET: 450000, //NOTE low sample size, //NOTE also update in gas tank // TRANSFER_LOCKUP: 700000, //NOTE low sample size // SEND_ETH: 21000, // DEFAULT: 550000, }; // TODO: this is walletgen-ui specific, move into a wallet router later const GEN_STATES = { ENY_NOSTART: Symbol("ENY_NOSTART"), ENY_PENDING: Symbol("ENY_PENDING"), ENY_SUCCESS: Symbol("ENY_SUCCESS"), ENY_FAILURE: Symbol("ENY_FAILURE"), DERIVATION_NOSTART: Symbol("DERIVATION_NOSTART"), DERIVATION_PENDING: Symbol("DERIVATION_PENDING"), DERIVATION_SUCCESS: Symbol("DERIVATION_SUCCESS"), DERIVATION_FAILURE: Symbol("DERIVATION_FAILURE"), PAPER_NOSTART: Symbol("PAPER_NOSTART"), PAPER_PENDING: Symbol("PAPER_PENDING"), PAPER_SUCCESS: Symbol("PAPER_SUCCESS"), PAPER_FAILURE: Symbol("PAPER_FAILURE"), }; const BUTTON_STATES = { NOSTART: Symbol("NOSTART"), SUCCESS: Symbol("SUCCESS"), ERROR: Symbol("ERROR"), PENDING: Symbol("PENDING"), }; const PROFILE_STATES = { NOSTART: Symbol("NOSTART"), UPLOAD_SUCCESS: Symbol("UPLOAD_SUCCESS"), UPLOAD_ERROR: Symbol("UPLOAD_ERROR"), INPUT_SUCCESS: Symbol("INPUT_SUCCESS"), INPUT_ERROR: Symbol("INPUT_ERROR"), }; const PROGRESS_ANIMATION_DELAY_MS = 500; // .animated-width const DEFAULT_HD_PATH = "m/44'/60'/0'/0/0"; const ETH_ZERO_ADDR = "0x0000000000000000000000000000000000000000"; const ETH_ZERO_ADDR_SHORT = "0x0"; const LINEAR_STAR_RELEASE = "0x86cd9cd0992f04231751e3761de45cecea5d1801"; const CONDITIONAL_STAR_RELEASE = "0x8c241098c3d3498fe1261421633fd57986d74aea"; const WALLET_TYPES = { MNEMONIC: Symbol("MNEMONIC"), TICKET: Symbol("TICKET"), SHARDS: Symbol("SHARDS"), LEDGER: Symbol("LEDGER"), TREZOR: Symbol("TREZOR"), PRIVATE_KEY: Symbol("PRIVATE_KEY"), KEYSTORE: Symbol("KEYSTORE"), METAMASK: Symbol("METAMASK"), WALLET_CONNECT: Symbol("WALLET_CONNECT"), }; const NONCUSTODIAL_WALLETS = new Set([ WALLET_TYPES.METAMASK, WALLET_TYPES.TREZOR, WALLET_TYPES.LEDGER, WALLET_TYPES.WALLET_CONNECT, ]); const ROLLER_HOSTS = { LOCAL: "localhost", GOERLI: "roller-tmp.urbit.org", MAINNET: "roller.urbit.org", }; const ROLLER_PATH = "/v1/roller"; const POINT_DOMINIONS = { L1: "l1", L2: "l2", SPAWN: "spawn", }; const POINT_PROXIES = { OWN: "own", MANAGE: "manage", TRANSFER: "transfer", VOTE: "vote", SPAWN: "spawn", }; // In ms const DEFAULT_FADE_TIMEOUT = 300; const MASTER_KEY_DURATION = 850; const INVITES_PER_PAGE = 7; const DEFAULT_NUM_INVITES = 5; const DEFAULT_CSV_NAME = "urbit_invites.csv"; const TRANSACTION_STATUS_ICONS: { [key: string]: | "Checkmark" | "ArrowNorth" | "Clock" | "ExclaimationMark" | "NullIcon"; } = { confirmed: "Checkmark", pending: "Clock", sending: "ArrowNorth", failed: "ExclaimationMark", unknown: "NullIcon", }; const TRANSACTION_TYPE_ICONS: { [key: string]: | "ArrowRefresh" | "BootNode" | "Delete" | "EjectedSponsor" | "EscapeApproved" | "EscapeRejected" | "EscapeRequested" | "ShipSpawned" | "Swap"; } = { adopt: "EscapeApproved", "cancel-escape": "EscapeRejected", "cancel-transfer": "Delete", "configure-keys": "BootNode", detach: "EjectedSponsor", escape: "EscapeRequested", migrate: "Swap", reject: "EscapeRejected", "set-management-proxy": "ArrowRefresh", "set-spawn-proxy": "ArrowRefresh", "set-transfer-proxy": "ArrowRefresh", "set-voting-proxy": "ArrowRefresh", spawn: "ShipSpawned", "transfer-point": "Swap", }; const TRANSACTION_TYPE_TITLES: { [key: string]: | "Ship Sponsored" | "Escape Canceled" | "Transfer Canceled" | "Network Keys Configured" | "Sponsee Detached" | "Escaped Sponsor" | "Migrating to Layer 2" | "Sponsorship Rejected" | "Management Proxy Changed" | "Spawn Proxy Changed" | "Transfer Proxy Changed" | "Voting Proxy Changed" | "Ship Spawned" | "Ship Transferred"; } = { adopt: "Ship Sponsored", "cancel-escape": "Escape Canceled", "cancel-transfer": "Transfer Canceled", "configure-keys": "Network Keys Configured", detach: "Sponsee Detached", escape: "Escaped Sponsor", migrate: "Migrating to Layer 2", reject: "Sponsorship Rejected", "set-management-proxy": "Management Proxy Changed", "set-spawn-proxy": "Spawn Proxy Changed", "set-transfer-proxy": "Transfer Proxy Changed", "set-voting-proxy": "Voting Proxy Changed", spawn: "Ship Spawned", "transfer-point": "Ship Transferred", }; const DUMMY_L2_ADDRESS = "0x1111111111111111111111111111111111111111"; const ONE_SECOND = 1000; const TWO_SECONDS = 2 * ONE_SECOND; const TEN_SECONDS = 10 * ONE_SECOND; const ONE_MINUTE = 60 * ONE_SECOND; const MASTER_TICKET_TOOLTIP = "Your Master Ticket is your 4-word password for your Urbit"; const PASSPORT_TOOLTIP = "Your Passport contains all of the address information for your wallet"; const LOCKUP_TOOLTIP = "Stars in a lockup schedule can be withdrawn after a set time duration. The duration is predetermined by the issuer"; // the initial network key revision is always 1 const INITIAL_NETWORK_KEY_REVISION = 1; const EIP1559_TRANSACTION_TYPE = 2; // Chain IDs // https://chainlist.org/?testnets=true const ETHEREUM_MAINNET_CHAIN_ID = "0x1"; const ETHEREUM_GOERLI_CHAIN_ID = "0x5"; const ETHEREUM_LOCAL_CHAIN_ID = "0x539"; export { CHECK_BLOCK_EVERY_MS, DEFAULT_GAS_PRICE_GWEI, DEFAULT_HD_PATH, EIP1559_TRANSACTION_TYPE, ETH_ZERO_ADDR, ETH_ZERO_ADDR_SHORT, LINEAR_STAR_RELEASE, CONDITIONAL_STAR_RELEASE, MAX_GAS_PRICE_GWEI, GAS_LIMITS, GEN_STATES, BUTTON_STATES, PROFILE_STATES, MIN_GALAXY, MAX_GALAXY, MIN_STAR, MAX_STAR, MIN_PLANET, MAX_PLANET, NONCUSTODIAL_WALLETS, PLANET_ENTROPY_BITS, STAR_ENTROPY_BITS, GALAXY_ENTROPY_BITS, SEED_ENTROPY_BITS, WALLET_TYPES, ZOD, PROGRESS_ANIMATION_DELAY_MS, ROLLER_HOSTS, ROLLER_PATH, POINT_DOMINIONS, POINT_PROXIES, DEFAULT_FADE_TIMEOUT, MASTER_KEY_DURATION, INVITES_PER_PAGE, DEFAULT_NUM_INVITES, DEFAULT_CSV_NAME, TRANSACTION_STATUS_ICONS, TRANSACTION_TYPE_ICONS, TRANSACTION_TYPE_TITLES, DUMMY_L2_ADDRESS, ONE_SECOND, TWO_SECONDS, TEN_SECONDS, ONE_MINUTE, MASTER_TICKET_TOOLTIP, PASSPORT_TOOLTIP, LOCKUP_TOOLTIP, INITIAL_NETWORK_KEY_REVISION, ETHEREUM_MAINNET_CHAIN_ID, ETHEREUM_GOERLI_CHAIN_ID, ETHEREUM_LOCAL_CHAIN_ID, };