This commit is contained in:
nitowa
2023-08-15 22:28:03 +02:00
commit 1dae68b1c7
5529 changed files with 1659171 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
import { AccountRootFlagsInterface } from '../ledger/AccountRoot';
import type { Transaction } from '../transactions/transaction';
export declare function parseAccountRootFlags(flags: number): AccountRootFlagsInterface;
export declare function setTransactionFlagsToNumber(tx: Transaction): void;
//# sourceMappingURL=flags.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../src/models/utils/flags.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,yBAAyB,EAE1B,MAAM,uBAAuB,CAAA;AAe9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAW9D,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GACZ,yBAAyB,CAU3B;AAOD,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CA4BjE"}
+74
View File
@@ -0,0 +1,74 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.setTransactionFlagsToNumber = exports.parseAccountRootFlags = void 0;
const errors_1 = require("../../errors");
const AccountRoot_1 = require("../ledger/AccountRoot");
const accountSet_1 = require("../transactions/accountSet");
const offerCreate_1 = require("../transactions/offerCreate");
const payment_1 = require("../transactions/payment");
const paymentChannelClaim_1 = require("../transactions/paymentChannelClaim");
const trustSet_1 = require("../transactions/trustSet");
const _1 = require(".");
function parseAccountRootFlags(flags) {
const flagsInterface = {};
Object.keys(AccountRoot_1.AccountRootFlags).forEach((flag) => {
if ((0, _1.isFlagEnabled)(flags, AccountRoot_1.AccountRootFlags[flag])) {
flagsInterface[flag] = true;
}
});
return flagsInterface;
}
exports.parseAccountRootFlags = parseAccountRootFlags;
function setTransactionFlagsToNumber(tx) {
if (tx.Flags == null) {
tx.Flags = 0;
return;
}
if (typeof tx.Flags === 'number') {
return;
}
switch (tx.TransactionType) {
case 'AccountSet':
tx.Flags = convertAccountSetFlagsToNumber(tx.Flags);
return;
case 'OfferCreate':
tx.Flags = convertOfferCreateFlagsToNumber(tx.Flags);
return;
case 'PaymentChannelClaim':
tx.Flags = convertPaymentChannelClaimFlagsToNumber(tx.Flags);
return;
case 'Payment':
tx.Flags = convertPaymentTransactionFlagsToNumber(tx.Flags);
return;
case 'TrustSet':
tx.Flags = convertTrustSetFlagsToNumber(tx.Flags);
return;
default:
tx.Flags = 0;
}
}
exports.setTransactionFlagsToNumber = setTransactionFlagsToNumber;
function convertAccountSetFlagsToNumber(flags) {
return reduceFlags(flags, accountSet_1.AccountSetTfFlags);
}
function convertOfferCreateFlagsToNumber(flags) {
return reduceFlags(flags, offerCreate_1.OfferCreateFlags);
}
function convertPaymentChannelClaimFlagsToNumber(flags) {
return reduceFlags(flags, paymentChannelClaim_1.PaymentChannelClaimFlags);
}
function convertPaymentTransactionFlagsToNumber(flags) {
return reduceFlags(flags, payment_1.PaymentFlags);
}
function convertTrustSetFlagsToNumber(flags) {
return reduceFlags(flags, trustSet_1.TrustSetFlags);
}
function reduceFlags(flags, flagEnum) {
return Object.keys(flags).reduce((resultFlags, flag) => {
if (flagEnum[flag] == null) {
throw new errors_1.ValidationError(`flag ${flag} doesn't exist in flagEnum: ${JSON.stringify(flagEnum)}`);
}
return flags[flag] ? resultFlags | flagEnum[flag] : resultFlags;
}, 0);
}
//# sourceMappingURL=flags.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../../../src/models/utils/flags.ts"],"names":[],"mappings":";;;AAGA,yCAA8C;AAC9C,uDAG8B;AAC9B,2DAGmC;AAEnC,6DAGoC;AACpC,qDAA6E;AAC7E,6EAG4C;AAE5C,uDAAgF;AAEhF,wBAAiC;AAQjC,SAAgB,qBAAqB,CACnC,KAAa;IAEb,MAAM,cAAc,GAA8B,EAAE,CAAA;IAEpD,MAAM,CAAC,IAAI,CAAC,8BAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,IAAI,IAAA,gBAAa,EAAC,KAAK,EAAE,8BAAgB,CAAC,IAAI,CAAC,CAAC,EAAE;YAChD,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;SAC5B;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,cAAc,CAAA;AACvB,CAAC;AAZD,sDAYC;AAOD,SAAgB,2BAA2B,CAAC,EAAe;IACzD,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,EAAE;QACpB,EAAE,CAAC,KAAK,GAAG,CAAC,CAAA;QACZ,OAAM;KACP;IACD,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,EAAE;QAChC,OAAM;KACP;IAED,QAAQ,EAAE,CAAC,eAAe,EAAE;QAC1B,KAAK,YAAY;YACf,EAAE,CAAC,KAAK,GAAG,8BAA8B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YACnD,OAAM;QACR,KAAK,aAAa;YAChB,EAAE,CAAC,KAAK,GAAG,+BAA+B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YACpD,OAAM;QACR,KAAK,qBAAqB;YACxB,EAAE,CAAC,KAAK,GAAG,uCAAuC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YAC5D,OAAM;QACR,KAAK,SAAS;YACZ,EAAE,CAAC,KAAK,GAAG,sCAAsC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YAC3D,OAAM;QACR,KAAK,UAAU;YACb,EAAE,CAAC,KAAK,GAAG,4BAA4B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YACjD,OAAM;QACR;YACE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAA;KACf;AACH,CAAC;AA5BD,kEA4BC;AAED,SAAS,8BAA8B,CACrC,KAA+B;IAE/B,OAAO,WAAW,CAAC,KAAK,EAAE,8BAAiB,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,+BAA+B,CACtC,KAAgC;IAEhC,OAAO,WAAW,CAAC,KAAK,EAAE,8BAAgB,CAAC,CAAA;AAC7C,CAAC;AAED,SAAS,uCAAuC,CAC9C,KAAwC;IAExC,OAAO,WAAW,CAAC,KAAK,EAAE,8CAAwB,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,sCAAsC,CAC7C,KAA4B;IAE5B,OAAO,WAAW,CAAC,KAAK,EAAE,sBAAY,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,4BAA4B,CAAC,KAA6B;IACjE,OAAO,WAAW,CAAC,KAAK,EAAE,wBAAa,CAAC,CAAA;AAC1C,CAAC;AAGD,SAAS,WAAW,CAAC,KAAkB,EAAE,QAAa;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE;QAErD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YAC1B,MAAM,IAAI,wBAAe,CACvB,QAAQ,IAAI,+BAA+B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CACtE,CAAA;SACF;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;IACjE,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC"}
+4
View File
@@ -0,0 +1,4 @@
export declare function onlyHasFields(obj: Record<string, unknown>, fields: string[]): boolean;
export declare function isFlagEnabled(Flags: number, checkFlag: number): boolean;
export declare function isHex(str: string): boolean;
//# sourceMappingURL=index.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/models/utils/index.ts"],"names":[],"mappings":"AASA,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAET;AASD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGvE;AAQD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1C"}
+17
View File
@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isHex = exports.isFlagEnabled = exports.onlyHasFields = void 0;
const HEX_REGEX = /^[0-9A-Fa-f]+$/u;
function onlyHasFields(obj, fields) {
return Object.keys(obj).every((key) => fields.includes(key));
}
exports.onlyHasFields = onlyHasFields;
function isFlagEnabled(Flags, checkFlag) {
return (checkFlag & Flags) === checkFlag;
}
exports.isFlagEnabled = isFlagEnabled;
function isHex(str) {
return HEX_REGEX.test(str);
}
exports.isHex = isHex;
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/utils/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,SAAS,GAAG,iBAAiB,CAAA;AASnC,SAAgB,aAAa,CAC3B,GAA4B,EAC5B,MAAgB;IAEhB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AACtE,CAAC;AALD,sCAKC;AASD,SAAgB,aAAa,CAAC,KAAa,EAAE,SAAiB;IAE5D,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,SAAS,CAAA;AAC1C,CAAC;AAHD,sCAGC;AAQD,SAAgB,KAAK,CAAC,GAAW;IAC/B,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AAFD,sBAEC"}