diff --git a/qortal-ui-crypto/api/constants.js b/qortal-ui-crypto/api/constants.js index 1909fffc..511ab99e 100644 --- a/qortal-ui-crypto/api/constants.js +++ b/qortal-ui-crypto/api/constants.js @@ -1,153 +1,51 @@ "use strict"; -// This needs a total makeover. // Qortal TX types - const TX_TYPES = { 1: "Genesis", 2: "Payment", - 3: "Name registration", 4: "Name update", 5: "Sell name", 6: "Cancel sell name", 7: "Buy name", - 8: "Create poll", 9: "Vote in poll", - 10: "Arbitrary", - 11: "Issue asset", 12: "Transfer asset", 13: "Create asset order", 14: "Cancel asset order", 15: "Multi-payment transaction", - 16: "Deploy AT", - 17: "Message", - 18: "Chat", 19: "Publicize", 20: "Airdrop", - - 21: 'AT', - - 22: 'Create group', - 23: 'Update group', - 24: 'Add group admin', - 25: 'Remove group admin', - 26: 'Group ban', - 27: 'Cancel group ban', - 28: 'Group kick', - 29: 'Group invite', - 30: 'Cancel group invite', - 31: 'Join group', - 32: 'Leave group', - 33: 'Group approval', - 34: 'Set group', - - 35: 'Update asset', - - 36: 'Account flags', - - 37: 'Enable forging', - 38: 'Reward share', - 39: 'Account level', + 21: "AT", + 22: "Create group", + 23: "Update group", + 24: "Add group admin", + 25: "Remove group admin", + 26: "Group ban", + 27: "Cancel group ban", + 28: "Group kick", + 29: "Group invite", + 30: "Cancel group invite", + 31: "Join group", + 32: "Leave group", + 33: "Group approval", + 34: "Set group", + 35: "Update asset", + 36: "Account flags", + 37: "Enable forging", + 38: "Reward share", + 39: "Account level", + 40: "Transfer privs", + 41: "Presence" } -// Qortal errors -// OK(1), -// INVALID_ADDRESS(2), -// NEGATIVE_AMOUNT(3), -// NEGATIVE_FEE(4), -// NO_BALANCE(5), -// INVALID_REFERENCE(6), -// INVALID_NAME_LENGTH(7), -// INVALID_VALUE_LENGTH(8), -// NAME_ALREADY_REGISTERED(9), -// NAME_DOES_NOT_EXIST(10), -// INVALID_NAME_OWNER(11), -// NAME_ALREADY_FOR_SALE(12), -// NAME_NOT_FOR_SALE(13), -// BUYER_ALREADY_OWNER(14), -// INVALID_AMOUNT(15), -// INVALID_SELLER(16), -// NAME_NOT_LOWER_CASE(17), -// INVALID_DESCRIPTION_LENGTH(18), -// INVALID_OPTIONS_COUNT(19), -// INVALID_OPTION_LENGTH(20), -// DUPLICATE_OPTION(21), -// POLL_ALREADY_EXISTS(22), -// POLL_DOES_NOT_EXIST(24), -// POLL_OPTION_DOES_NOT_EXIST(25), -// ALREADY_VOTED_FOR_THAT_OPTION(26), -// INVALID_DATA_LENGTH(27), - -// INVALID_QUANTITY(28), -// ASSET_DOES_NOT_EXIST(29), -// INVALID_RETURN(30), -// HAVE_EQUALS_WANT(31), -// ORDER_DOES_NOT_EXIST(32), -// INVALID_ORDER_CREATOR(33), -// INVALID_PAYMENTS_COUNT(34), -// NEGATIVE_PRICE(35), -// INVALID_CREATION_BYTES(36), -// INVALID_TAGS_LENGTH(37), -// INVALID_AT_TYPE_LENGTH(38), - -// INVALID_AT_TRANSACTION(39), - -// INSUFFICIENT_FEE(40), -// ASSET_DOES_NOT_MATCH_AT(41), -// ASSET_ALREADY_EXISTS(43), -// MISSING_CREATOR(44), -// TIMESTAMP_TOO_OLD(45), -// TIMESTAMP_TOO_NEW(46), -// TOO_MANY_UNCONFIRMED(47), -// GROUP_ALREADY_EXISTS(48), -// GROUP_DOES_NOT_EXIST(49), -// INVALID_GROUP_OWNER(50), -// ALREADY_GROUP_MEMBER(51), -// GROUP_OWNER_CANNOT_LEAVE(52), -// NOT_GROUP_MEMBER(53), -// ALREADY_GROUP_ADMIN(54), -// NOT_GROUP_ADMIN(55), -// INVALID_LIFETIME(56), -// INVITE_UNKNOWN(57), -// BAN_EXISTS(58), -// BAN_UNKNOWN(59), -// BANNED_FROM_GROUP(60), -// JOIN_REQUEST_EXISTS(61), -// INVALID_GROUP_APPROVAL_THRESHOLD(62), -// GROUP_ID_MISMATCH(63), -// INVALID_GROUP_ID(64), -// TRANSACTION_UNKNOWN(65), -// TRANSACTION_ALREADY_CONFIRMED(66), -// INVALID_TX_GROUP_ID(67), -// TX_GROUP_ID_MISMATCH(68), -// MULTIPLE_NAMES_FORBIDDEN(69), -// INVALID_ASSET_OWNER(70), -// AT_IS_FINISHED(71), -// NO_FLAG_PERMISSION(72), -// NOT_MINTING_ACCOUNT(73), -// INVALID_REWARD_SHARE_PERCENT(77), -// PUBLIC_KEY_UNKNOWN(78), -// INVALID_PUBLIC_KEY(79), -// AT_UNKNOWN(80), -// AT_ALREADY_EXISTS(81), -// GROUP_APPROVAL_NOT_REQUIRED(82), -// GROUP_APPROVAL_DECIDED(83), -// MAXIMUM_REWARD_SHARES(84), -// TRANSACTION_ALREADY_EXISTS(85), -// NO_BLOCKCHAIN_LOCK(86), -// ORDER_ALREADY_CLOSED(87), -// CLOCK_NOT_SYNCED(88), -// ASSET_NOT_SPENDABLE(89), -// ACCOUNT_CANNOT_REWARD_SHARE(90), -// NOT_YET_RELEASED(1000); - +// Qortal error codes const ERROR_CODES = { 1: "Valid OK", 2: "Invalid address", @@ -155,11 +53,9 @@ const ERROR_CODES = { 4: "Nagative fee", 5: "No balance", 6: "Invalid reference", - 7: "Invalid time length", 8: "Invalid value length", 9: "Name already registered", - 10: "Name does not exist", 11: "Invalid name owner", 12: "Name already for sale", @@ -167,9 +63,7 @@ const ERROR_CODES = { 14: "Name buyer already owner", 15: "Invalid amount", 16: "Invalid seller", - 17: "Name not lowercase", - 18: "Invalid description length", 19: "Invalid options length", 20: "Invalid option length", @@ -180,7 +74,6 @@ const ERROR_CODES = { 25: "Option does not exist", 26: "Already voted for that option", 27: "Invalid data length", - 28: "Invalid quantity", 29: "Asset does not exist", 30: "Invalid return", @@ -192,103 +85,84 @@ const ERROR_CODES = { 36: "Invalid creation bytes", 37: "Invalid tags length", 38: "Invalid type length", - - 39: 'Invalid AT transaction', - + 39: "Invalid AT transaction", 40: "Insufficient fee", - 41: "Asset does not match AT", - 43: 'Asset already exists', - 44: 'Missing creator', - 45: 'Timestamp too old', - 46: 'Timestamp too new', - 47: 'Too many unconfirmed', - 48: 'Group already exists', - 49: 'Group does not exist', - 50: 'Invalid group owner', - 51: 'Already group memeber', - 52: 'Group owner can not leave', - 53: 'Not group member', - 54: 'Already group admin', - 55: 'Not group admin', - 56: 'Invalid lifetime', - 57: 'Invite unknown', - 58: 'Ban exists', // total crap mistakes by the nigerian scammer - 59: 'Ban unknown', // its fucking Ban not Ben - 60: 'Banned from group', - 61: 'Join request', - 62: 'Invalid group approval threshold', - 63: 'Group ID mismatch', - 64: 'Invalid group ID', - 65: 'Transaction unknown', - 66: 'Transaction already confirmed', - 67: 'Invalid TX group', - 68: 'TX group ID mismatch', - 69: 'Multiple names forbidden', - 70: 'Invalid asset owner', - 71: 'AT is finished', - 72: 'No flag permission', - 73: 'Not minting accout', + 43: "Asset already exists", + 44: "Missing creator", + 45: "Timestamp too old", + 46: "Timestamp too new", + 47: "Too many unconfirmed", + 48: "Group already exists", + 49: "Group does not exist", + 50: "Invalid group owner", + 51: "Already group memeber", + 52: "Group owner can not leave", + 53: "Not group member", + 54: "Already group admin", + 55: "Not group admin", + 56: "Invalid lifetime", + 57: "Invite unknown", + 58: "Ban exists", + 59: "Ban unknown", + 60: "Banned from group", + 61: "Join request", + 62: "Invalid group approval threshold", + 63: "Group ID mismatch", + 64: "Invalid group ID", + 65: "Transaction unknown", + 66: "Transaction already confirmed", + 67: "Invalid TX group", + 68: "TX group ID mismatch", + 69: "Multiple names forbidden", + 70: "Invalid asset owner", + 71: "AT is finished", + 72: "No flag permission", + 73: "Not minting accout", - 77: 'Invalid rewardshare percent', - 78: 'Public key unknown', - 79: 'Invalid public key', - 80: 'AT unknown', - 81: 'AT already exists', - 82: 'Group approval not required', - 83: 'Group approval decided', - 84: 'Maximum reward shares', - 85: 'Transaction already exists', - 86: 'No blockchain lock', - 87: 'Order already closed', - 88: 'Clock not synced', - 89: 'Asset not spendable', - 90: 'Account can not reward share', + 77: "Invalid rewardshare percent", + 78: "Public key unknown", + 79: "Invalid public key", + 80: "AT unknown", + 81: "AT already exists", + 82: "Group approval not required", + 83: "Group approval decided", + 84: "Maximum reward shares", + 85: "Transaction already exists", + 86: "No blockchain lock", + 87: "Order already closed", + 88: "Clock not synced", + 89: "Asset not spendable", + 90: "Account can not reward share", + 91: "Self share exists", + 92: "Account already exists", + 93: "Invalid group block delay", + 94: "Incorrect nonce", + 95: "Ivalid timestamp signature", + 96: "Address blocked", + 97: "Name Blocked", + 98: "Group approval required", + 99: "Account not transferable", + 999: "Ivalid but ok", 1000: "Not yet released." } +// Qortal 8 decimals const QORT_DECIMALS = 1e8 -const PROXY_URL = "/proxy/" // Proxy for api calls +// Q for Qortal +const ADDRESS_VERSION = 58 -const ADDRESS_VERSION = 58; // Q for Qora -// const ADDRESS_VERSION = 46; // K for Karma +// Proxy for api calls +const PROXY_URL = "/proxy/" // Used as a salt for all qora addresses. Salts used for storing your private keys in local storage will be randomly generated const STATIC_SALT = new Uint8Array([54, 190, 201, 206, 65, 29, 123, 129, 147, 231, 180, 166, 171, 45, 95, 165, 78, 200, 208, 194, 44, 207, 221, 146, 45, 238, 68, 68, 69, 102, 62, 6]) const BCRYPT_ROUNDS = 10 // Remember that the total work spent on key derivation is BCRYPT_ROUNDS * KDF_THREADS const BCRYPT_VERSION = "2a" const STATIC_BCRYPT_SALT = `$${BCRYPT_VERSION}$${BCRYPT_ROUNDS}$IxVE941tXVUD4cW0TNVm.O` -// const PBKDF2_ROUNDS = Math.pow(2,17) // Deprecated - -const KDF_THREADS = 16 // 16 Threads seems like a good number :) . No you dumbass nigerian. Its not ! -_- +const KDF_THREADS = 16 export { TX_TYPES, ERROR_CODES, QORT_DECIMALS, PROXY_URL, STATIC_SALT, ADDRESS_VERSION, KDF_THREADS, STATIC_BCRYPT_SALT } - -//const TX_TYPES = { -// GENESIS_TRANSACTION: 1, -// PAYMENT_TRANSACTION: 2, -// -// REGISTER_NAME_TRANSACTION: 3, -// UPDATE_NAME_TRANSACTION: 4, -// SELL_NAME_TRANSACTION: 5, -// CANCEL_SELL_NAME_TRANSACTION: 6, -// BUY_NAME_TRANSACTION: 7, -// -// CREATE_POLL_TRANSACTION: 8, -// VOTE_ON_POLL_TRANSACTION: 9, -// -// ARBITRARY_TRANSACTION: 10, -// -// ISSUE_ASSET_TRANSACTION: 11, -// TRANSFER_ASSET_TRANSACTION: 12, -// CREATE_ORDER_TRANSACTION: 13, -// CANCEL_ORDER_TRANSACTION: 14, -// MULTI_PAYMENT_TRANSACTION: 15, -// -// DEPLOY_AT_TRANSACTION: 16, -// -// MESSAGE_TRANSACTION: 17 -//}; \ No newline at end of file