@polymarbot/shared 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/markets/utils.cjs +20 -10
- package/markets/utils.js +20 -10
- package/package.json +1 -1
package/markets/utils.cjs
CHANGED
|
@@ -636,6 +636,8 @@ var SYMBOL_FULL_NAME_MAP = {
|
|
|
636
636
|
["btc" /* BTC */]: "bitcoin",
|
|
637
637
|
["sol" /* SOL */]: "solana"
|
|
638
638
|
};
|
|
639
|
+
var YEAR_SLUG_CUTOFF_1H = 1773550800;
|
|
640
|
+
var YEAR_SLUG_CUTOFF_1D = 1773532800;
|
|
639
641
|
var MONTH_NAMES = [
|
|
640
642
|
"january",
|
|
641
643
|
"february",
|
|
@@ -668,7 +670,11 @@ function generate1hSlug(timestamp, symbol) {
|
|
|
668
670
|
const day = etTime.date();
|
|
669
671
|
const hour = etTime.format("h");
|
|
670
672
|
const ampm = etTime.format("a");
|
|
671
|
-
|
|
673
|
+
if (timestamp < YEAR_SLUG_CUTOFF_1H) {
|
|
674
|
+
return `${prefix}-up-or-down-${month}-${day}-${hour}${ampm}-et`;
|
|
675
|
+
}
|
|
676
|
+
const year = etTime.year();
|
|
677
|
+
return `${prefix}-up-or-down-${month}-${day}-${year}-${hour}${ampm}-et`;
|
|
672
678
|
}
|
|
673
679
|
function generate4hSlug(timestamp, symbol) {
|
|
674
680
|
const prefix = symbol.toLowerCase();
|
|
@@ -679,7 +685,11 @@ function generate1dSlug(timestamp, symbol) {
|
|
|
679
685
|
const date = new Date(timestamp * 1e3);
|
|
680
686
|
const month = MONTH_NAMES[date.getUTCMonth()];
|
|
681
687
|
const day = date.getUTCDate();
|
|
682
|
-
|
|
688
|
+
if (timestamp < YEAR_SLUG_CUTOFF_1D) {
|
|
689
|
+
return `${prefix}-up-or-down-on-${month}-${day}`;
|
|
690
|
+
}
|
|
691
|
+
const year = date.getUTCFullYear();
|
|
692
|
+
return `${prefix}-up-or-down-on-${month}-${day}-${year}`;
|
|
683
693
|
}
|
|
684
694
|
function calculatePeriodStartInET(intervalSeconds) {
|
|
685
695
|
const now = Math.floor(Date.now() / 1e3);
|
|
@@ -721,10 +731,10 @@ function parseIntervalFromSlug(slug) {
|
|
|
721
731
|
if (lowerSlug.includes("-updown-4h-")) {
|
|
722
732
|
return "4h" /* H4 */;
|
|
723
733
|
}
|
|
724
|
-
if (lowerSlug.match(/-up-or-down-\w+-\d
|
|
734
|
+
if (lowerSlug.match(/-up-or-down-\w+-\d+(-\d{4})?-\d+(am|pm)-et$/)) {
|
|
725
735
|
return "1h" /* H1 */;
|
|
726
736
|
}
|
|
727
|
-
if (lowerSlug.match(/-up-or-down-on-\w+-\d
|
|
737
|
+
if (lowerSlug.match(/-up-or-down-on-\w+-\d+(-\d{4})?$/)) {
|
|
728
738
|
return "1d" /* D1 */;
|
|
729
739
|
}
|
|
730
740
|
return null;
|
|
@@ -758,12 +768,12 @@ function parseTimeRangeFromSlug(slug, referenceYear) {
|
|
|
758
768
|
startTime = parseInt(match[1], 10);
|
|
759
769
|
}
|
|
760
770
|
} else if (interval === "1h" /* H1 */) {
|
|
761
|
-
const match = lowerSlug.match(/-up-or-down-(\w+)-(\d+)
|
|
771
|
+
const match = lowerSlug.match(/-up-or-down-(\w+)-(\d+)(?:-(\d{4}))?-(\d+)(am|pm)-et$/);
|
|
762
772
|
if (match) {
|
|
763
|
-
const [, monthName, day, hour, ampm] = match;
|
|
773
|
+
const [, monthName, day, slugYear, hour, ampm] = match;
|
|
764
774
|
const monthIndex = MONTH_NAMES.indexOf(monthName);
|
|
765
775
|
if (monthIndex !== -1) {
|
|
766
|
-
const year = referenceYear ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
776
|
+
const year = slugYear ? parseInt(slugYear, 10) : referenceYear ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
767
777
|
let hour24 = parseInt(hour, 10);
|
|
768
778
|
if (ampm === "pm" && hour24 !== 12) {
|
|
769
779
|
hour24 += 12;
|
|
@@ -778,12 +788,12 @@ function parseTimeRangeFromSlug(slug, referenceYear) {
|
|
|
778
788
|
}
|
|
779
789
|
}
|
|
780
790
|
} else if (interval === "1d" /* D1 */) {
|
|
781
|
-
const match = lowerSlug.match(/-up-or-down-on-(\w+)-(\d+)
|
|
791
|
+
const match = lowerSlug.match(/-up-or-down-on-(\w+)-(\d+)(?:-(\d{4}))?$/);
|
|
782
792
|
if (match) {
|
|
783
|
-
const [, monthName, day] = match;
|
|
793
|
+
const [, monthName, day, slugYear] = match;
|
|
784
794
|
const monthIndex = MONTH_NAMES.indexOf(monthName);
|
|
785
795
|
if (monthIndex !== -1) {
|
|
786
|
-
const year = referenceYear ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
796
|
+
const year = slugYear ? parseInt(slugYear, 10) : referenceYear ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
787
797
|
const utcTime = dayjs_default.utc(
|
|
788
798
|
`${year}-${String(monthIndex + 1).padStart(2, "0")}-${String(day).padStart(2, "0")} 00:00:00`
|
|
789
799
|
);
|
package/markets/utils.js
CHANGED
|
@@ -583,6 +583,8 @@ var SYMBOL_FULL_NAME_MAP = {
|
|
|
583
583
|
["btc" /* BTC */]: "bitcoin",
|
|
584
584
|
["sol" /* SOL */]: "solana"
|
|
585
585
|
};
|
|
586
|
+
var YEAR_SLUG_CUTOFF_1H = 1773550800;
|
|
587
|
+
var YEAR_SLUG_CUTOFF_1D = 1773532800;
|
|
586
588
|
var MONTH_NAMES = [
|
|
587
589
|
"january",
|
|
588
590
|
"february",
|
|
@@ -615,7 +617,11 @@ function generate1hSlug(timestamp, symbol) {
|
|
|
615
617
|
const day = etTime.date();
|
|
616
618
|
const hour = etTime.format("h");
|
|
617
619
|
const ampm = etTime.format("a");
|
|
618
|
-
|
|
620
|
+
if (timestamp < YEAR_SLUG_CUTOFF_1H) {
|
|
621
|
+
return `${prefix}-up-or-down-${month}-${day}-${hour}${ampm}-et`;
|
|
622
|
+
}
|
|
623
|
+
const year = etTime.year();
|
|
624
|
+
return `${prefix}-up-or-down-${month}-${day}-${year}-${hour}${ampm}-et`;
|
|
619
625
|
}
|
|
620
626
|
function generate4hSlug(timestamp, symbol) {
|
|
621
627
|
const prefix = symbol.toLowerCase();
|
|
@@ -626,7 +632,11 @@ function generate1dSlug(timestamp, symbol) {
|
|
|
626
632
|
const date = new Date(timestamp * 1e3);
|
|
627
633
|
const month = MONTH_NAMES[date.getUTCMonth()];
|
|
628
634
|
const day = date.getUTCDate();
|
|
629
|
-
|
|
635
|
+
if (timestamp < YEAR_SLUG_CUTOFF_1D) {
|
|
636
|
+
return `${prefix}-up-or-down-on-${month}-${day}`;
|
|
637
|
+
}
|
|
638
|
+
const year = date.getUTCFullYear();
|
|
639
|
+
return `${prefix}-up-or-down-on-${month}-${day}-${year}`;
|
|
630
640
|
}
|
|
631
641
|
function calculatePeriodStartInET(intervalSeconds) {
|
|
632
642
|
const now = Math.floor(Date.now() / 1e3);
|
|
@@ -668,10 +678,10 @@ function parseIntervalFromSlug(slug) {
|
|
|
668
678
|
if (lowerSlug.includes("-updown-4h-")) {
|
|
669
679
|
return "4h" /* H4 */;
|
|
670
680
|
}
|
|
671
|
-
if (lowerSlug.match(/-up-or-down-\w+-\d
|
|
681
|
+
if (lowerSlug.match(/-up-or-down-\w+-\d+(-\d{4})?-\d+(am|pm)-et$/)) {
|
|
672
682
|
return "1h" /* H1 */;
|
|
673
683
|
}
|
|
674
|
-
if (lowerSlug.match(/-up-or-down-on-\w+-\d
|
|
684
|
+
if (lowerSlug.match(/-up-or-down-on-\w+-\d+(-\d{4})?$/)) {
|
|
675
685
|
return "1d" /* D1 */;
|
|
676
686
|
}
|
|
677
687
|
return null;
|
|
@@ -705,12 +715,12 @@ function parseTimeRangeFromSlug(slug, referenceYear) {
|
|
|
705
715
|
startTime = parseInt(match[1], 10);
|
|
706
716
|
}
|
|
707
717
|
} else if (interval === "1h" /* H1 */) {
|
|
708
|
-
const match = lowerSlug.match(/-up-or-down-(\w+)-(\d+)
|
|
718
|
+
const match = lowerSlug.match(/-up-or-down-(\w+)-(\d+)(?:-(\d{4}))?-(\d+)(am|pm)-et$/);
|
|
709
719
|
if (match) {
|
|
710
|
-
const [, monthName, day, hour, ampm] = match;
|
|
720
|
+
const [, monthName, day, slugYear, hour, ampm] = match;
|
|
711
721
|
const monthIndex = MONTH_NAMES.indexOf(monthName);
|
|
712
722
|
if (monthIndex !== -1) {
|
|
713
|
-
const year = referenceYear ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
723
|
+
const year = slugYear ? parseInt(slugYear, 10) : referenceYear ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
714
724
|
let hour24 = parseInt(hour, 10);
|
|
715
725
|
if (ampm === "pm" && hour24 !== 12) {
|
|
716
726
|
hour24 += 12;
|
|
@@ -725,12 +735,12 @@ function parseTimeRangeFromSlug(slug, referenceYear) {
|
|
|
725
735
|
}
|
|
726
736
|
}
|
|
727
737
|
} else if (interval === "1d" /* D1 */) {
|
|
728
|
-
const match = lowerSlug.match(/-up-or-down-on-(\w+)-(\d+)
|
|
738
|
+
const match = lowerSlug.match(/-up-or-down-on-(\w+)-(\d+)(?:-(\d{4}))?$/);
|
|
729
739
|
if (match) {
|
|
730
|
-
const [, monthName, day] = match;
|
|
740
|
+
const [, monthName, day, slugYear] = match;
|
|
731
741
|
const monthIndex = MONTH_NAMES.indexOf(monthName);
|
|
732
742
|
if (monthIndex !== -1) {
|
|
733
|
-
const year = referenceYear ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
743
|
+
const year = slugYear ? parseInt(slugYear, 10) : referenceYear ?? (/* @__PURE__ */ new Date()).getFullYear();
|
|
734
744
|
const utcTime = dayjs_default.utc(
|
|
735
745
|
`${year}-${String(monthIndex + 1).padStart(2, "0")}-${String(day).padStart(2, "0")} 00:00:00`
|
|
736
746
|
);
|