mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-02-12 02:05:51 +00:00
294 lines
7.6 KiB
JavaScript
294 lines
7.6 KiB
JavaScript
"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',
|
|
}
|
|
|
|
// 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);
|
|
|
|
const ERROR_CODES = {
|
|
1: "Valid OK",
|
|
2: "Invalid address",
|
|
3: "Negative amount",
|
|
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",
|
|
13: "Name not for sale",
|
|
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",
|
|
21: "Duplicate option",
|
|
22: "Poll already created",
|
|
23: "Poll already has votes",
|
|
24: "Poll does not exist",
|
|
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",
|
|
31: "Have equals want",
|
|
32: "Order does not exist",
|
|
33: "Invalid order creator",
|
|
34: "Invalid payments length",
|
|
35: "Negative price",
|
|
36: "Invalid creation bytes",
|
|
37: "Invalid tags length",
|
|
38: "Invalid type length",
|
|
|
|
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',
|
|
|
|
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',
|
|
|
|
1000: "Not yet released."
|
|
}
|
|
|
|
const QORT_DECIMALS = 1e8
|
|
|
|
const PROXY_URL = "/proxy/" // Proxy for api calls
|
|
|
|
const ADDRESS_VERSION = 58; // Q for Qora
|
|
// const ADDRESS_VERSION = 46; // K for Karma
|
|
|
|
// 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 ! -_-
|
|
|
|
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
|
|
//};
|