@xyo-network/react-price-forecast-plugin 2.79.0 → 2.80.1
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/dist/browser/index.d.ts +13 -3
- package/package.json +8 -24
- package/xy.config.ts +12 -0
- package/dist/browser/Plugin.d.cts +0 -3
- package/dist/browser/Plugin.d.cts.map +0 -1
- package/dist/browser/Plugin.d.mts +0 -3
- package/dist/browser/Plugin.d.mts.map +0 -1
- package/dist/browser/Plugin.d.ts +0 -3
- package/dist/browser/Plugin.d.ts.map +0 -1
- package/dist/browser/components/DetailsBox.d.cts +0 -9
- package/dist/browser/components/DetailsBox.d.cts.map +0 -1
- package/dist/browser/components/DetailsBox.d.mts +0 -9
- package/dist/browser/components/DetailsBox.d.mts.map +0 -1
- package/dist/browser/components/DetailsBox.d.ts +0 -9
- package/dist/browser/components/DetailsBox.d.ts.map +0 -1
- package/dist/browser/components/index.d.cts +0 -2
- package/dist/browser/components/index.d.cts.map +0 -1
- package/dist/browser/components/index.d.mts +0 -2
- package/dist/browser/components/index.d.mts.map +0 -1
- package/dist/browser/components/index.d.ts +0 -2
- package/dist/browser/components/index.d.ts.map +0 -1
- package/dist/browser/index.cjs +0 -336
- package/dist/browser/index.cjs.map +0 -1
- package/dist/browser/index.d.cts +0 -3
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -3
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/lib/DataLineStyles.d.cts +0 -5
- package/dist/browser/lib/DataLineStyles.d.cts.map +0 -1
- package/dist/browser/lib/DataLineStyles.d.mts +0 -5
- package/dist/browser/lib/DataLineStyles.d.mts.map +0 -1
- package/dist/browser/lib/DataLineStyles.d.ts +0 -5
- package/dist/browser/lib/DataLineStyles.d.ts.map +0 -1
- package/dist/browser/lib/DataPointStyles.d.cts +0 -8
- package/dist/browser/lib/DataPointStyles.d.cts.map +0 -1
- package/dist/browser/lib/DataPointStyles.d.mts +0 -8
- package/dist/browser/lib/DataPointStyles.d.mts.map +0 -1
- package/dist/browser/lib/DataPointStyles.d.ts +0 -8
- package/dist/browser/lib/DataPointStyles.d.ts.map +0 -1
- package/dist/browser/lib/ForecastLineChartConfigBuilder.d.cts +0 -44
- package/dist/browser/lib/ForecastLineChartConfigBuilder.d.cts.map +0 -1
- package/dist/browser/lib/ForecastLineChartConfigBuilder.d.mts +0 -44
- package/dist/browser/lib/ForecastLineChartConfigBuilder.d.mts.map +0 -1
- package/dist/browser/lib/ForecastLineChartConfigBuilder.d.ts +0 -44
- package/dist/browser/lib/ForecastLineChartConfigBuilder.d.ts.map +0 -1
- package/dist/browser/lib/MockSourcePayloads.d.cts +0 -18
- package/dist/browser/lib/MockSourcePayloads.d.cts.map +0 -1
- package/dist/browser/lib/MockSourcePayloads.d.mts +0 -18
- package/dist/browser/lib/MockSourcePayloads.d.mts.map +0 -1
- package/dist/browser/lib/MockSourcePayloads.d.ts +0 -18
- package/dist/browser/lib/MockSourcePayloads.d.ts.map +0 -1
- package/dist/browser/lib/SourcePayloads.d.cts +0 -30
- package/dist/browser/lib/SourcePayloads.d.cts.map +0 -1
- package/dist/browser/lib/SourcePayloads.d.mts +0 -30
- package/dist/browser/lib/SourcePayloads.d.mts.map +0 -1
- package/dist/browser/lib/SourcePayloads.d.ts +0 -30
- package/dist/browser/lib/SourcePayloads.d.ts.map +0 -1
- package/dist/browser/lib/index.d.cts +0 -4
- package/dist/browser/lib/index.d.cts.map +0 -1
- package/dist/browser/lib/index.d.mts +0 -4
- package/dist/browser/lib/index.d.mts.map +0 -1
- package/dist/browser/lib/index.d.ts +0 -4
- package/dist/browser/lib/index.d.ts.map +0 -1
- package/dist/neutral/Plugin.d.cts +0 -3
- package/dist/neutral/Plugin.d.cts.map +0 -1
- package/dist/neutral/Plugin.d.mts +0 -3
- package/dist/neutral/Plugin.d.mts.map +0 -1
- package/dist/neutral/Plugin.d.ts +0 -3
- package/dist/neutral/Plugin.d.ts.map +0 -1
- package/dist/neutral/components/DetailsBox.d.cts +0 -9
- package/dist/neutral/components/DetailsBox.d.cts.map +0 -1
- package/dist/neutral/components/DetailsBox.d.mts +0 -9
- package/dist/neutral/components/DetailsBox.d.mts.map +0 -1
- package/dist/neutral/components/DetailsBox.d.ts +0 -9
- package/dist/neutral/components/DetailsBox.d.ts.map +0 -1
- package/dist/neutral/components/index.d.cts +0 -2
- package/dist/neutral/components/index.d.cts.map +0 -1
- package/dist/neutral/components/index.d.mts +0 -2
- package/dist/neutral/components/index.d.mts.map +0 -1
- package/dist/neutral/components/index.d.ts +0 -2
- package/dist/neutral/components/index.d.ts.map +0 -1
- package/dist/neutral/index.cjs +0 -336
- package/dist/neutral/index.cjs.map +0 -1
- package/dist/neutral/index.d.cts +0 -3
- package/dist/neutral/index.d.cts.map +0 -1
- package/dist/neutral/index.d.mts +0 -3
- package/dist/neutral/index.d.mts.map +0 -1
- package/dist/neutral/index.d.ts +0 -3
- package/dist/neutral/index.d.ts.map +0 -1
- package/dist/neutral/index.mjs +0 -305
- package/dist/neutral/index.mjs.map +0 -1
- package/dist/neutral/lib/DataLineStyles.d.cts +0 -5
- package/dist/neutral/lib/DataLineStyles.d.cts.map +0 -1
- package/dist/neutral/lib/DataLineStyles.d.mts +0 -5
- package/dist/neutral/lib/DataLineStyles.d.mts.map +0 -1
- package/dist/neutral/lib/DataLineStyles.d.ts +0 -5
- package/dist/neutral/lib/DataLineStyles.d.ts.map +0 -1
- package/dist/neutral/lib/DataPointStyles.d.cts +0 -8
- package/dist/neutral/lib/DataPointStyles.d.cts.map +0 -1
- package/dist/neutral/lib/DataPointStyles.d.mts +0 -8
- package/dist/neutral/lib/DataPointStyles.d.mts.map +0 -1
- package/dist/neutral/lib/DataPointStyles.d.ts +0 -8
- package/dist/neutral/lib/DataPointStyles.d.ts.map +0 -1
- package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.cts +0 -44
- package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.cts.map +0 -1
- package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.mts +0 -44
- package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.mts.map +0 -1
- package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.ts +0 -44
- package/dist/neutral/lib/ForecastLineChartConfigBuilder.d.ts.map +0 -1
- package/dist/neutral/lib/MockSourcePayloads.d.cts +0 -18
- package/dist/neutral/lib/MockSourcePayloads.d.cts.map +0 -1
- package/dist/neutral/lib/MockSourcePayloads.d.mts +0 -18
- package/dist/neutral/lib/MockSourcePayloads.d.mts.map +0 -1
- package/dist/neutral/lib/MockSourcePayloads.d.ts +0 -18
- package/dist/neutral/lib/MockSourcePayloads.d.ts.map +0 -1
- package/dist/neutral/lib/SourcePayloads.d.cts +0 -30
- package/dist/neutral/lib/SourcePayloads.d.cts.map +0 -1
- package/dist/neutral/lib/SourcePayloads.d.mts +0 -30
- package/dist/neutral/lib/SourcePayloads.d.mts.map +0 -1
- package/dist/neutral/lib/SourcePayloads.d.ts +0 -30
- package/dist/neutral/lib/SourcePayloads.d.ts.map +0 -1
- package/dist/neutral/lib/index.d.cts +0 -4
- package/dist/neutral/lib/index.d.cts.map +0 -1
- package/dist/neutral/lib/index.d.mts +0 -4
- package/dist/neutral/lib/index.d.mts.map +0 -1
- package/dist/neutral/lib/index.d.ts +0 -4
- package/dist/neutral/lib/index.d.ts.map +0 -1
- package/dist/node/Plugin.d.cts +0 -3
- package/dist/node/Plugin.d.cts.map +0 -1
- package/dist/node/Plugin.d.mts +0 -3
- package/dist/node/Plugin.d.mts.map +0 -1
- package/dist/node/Plugin.d.ts +0 -3
- package/dist/node/Plugin.d.ts.map +0 -1
- package/dist/node/components/DetailsBox.d.cts +0 -9
- package/dist/node/components/DetailsBox.d.cts.map +0 -1
- package/dist/node/components/DetailsBox.d.mts +0 -9
- package/dist/node/components/DetailsBox.d.mts.map +0 -1
- package/dist/node/components/DetailsBox.d.ts +0 -9
- package/dist/node/components/DetailsBox.d.ts.map +0 -1
- package/dist/node/components/index.d.cts +0 -2
- package/dist/node/components/index.d.cts.map +0 -1
- package/dist/node/components/index.d.mts +0 -2
- package/dist/node/components/index.d.mts.map +0 -1
- package/dist/node/components/index.d.ts +0 -2
- package/dist/node/components/index.d.ts.map +0 -1
- package/dist/node/index.cjs +0 -343
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -3
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -3
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/index.d.ts +0 -3
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/index.mjs +0 -307
- package/dist/node/index.mjs.map +0 -1
- package/dist/node/lib/DataLineStyles.d.cts +0 -5
- package/dist/node/lib/DataLineStyles.d.cts.map +0 -1
- package/dist/node/lib/DataLineStyles.d.mts +0 -5
- package/dist/node/lib/DataLineStyles.d.mts.map +0 -1
- package/dist/node/lib/DataLineStyles.d.ts +0 -5
- package/dist/node/lib/DataLineStyles.d.ts.map +0 -1
- package/dist/node/lib/DataPointStyles.d.cts +0 -8
- package/dist/node/lib/DataPointStyles.d.cts.map +0 -1
- package/dist/node/lib/DataPointStyles.d.mts +0 -8
- package/dist/node/lib/DataPointStyles.d.mts.map +0 -1
- package/dist/node/lib/DataPointStyles.d.ts +0 -8
- package/dist/node/lib/DataPointStyles.d.ts.map +0 -1
- package/dist/node/lib/ForecastLineChartConfigBuilder.d.cts +0 -44
- package/dist/node/lib/ForecastLineChartConfigBuilder.d.cts.map +0 -1
- package/dist/node/lib/ForecastLineChartConfigBuilder.d.mts +0 -44
- package/dist/node/lib/ForecastLineChartConfigBuilder.d.mts.map +0 -1
- package/dist/node/lib/ForecastLineChartConfigBuilder.d.ts +0 -44
- package/dist/node/lib/ForecastLineChartConfigBuilder.d.ts.map +0 -1
- package/dist/node/lib/MockSourcePayloads.d.cts +0 -18
- package/dist/node/lib/MockSourcePayloads.d.cts.map +0 -1
- package/dist/node/lib/MockSourcePayloads.d.mts +0 -18
- package/dist/node/lib/MockSourcePayloads.d.mts.map +0 -1
- package/dist/node/lib/MockSourcePayloads.d.ts +0 -18
- package/dist/node/lib/MockSourcePayloads.d.ts.map +0 -1
- package/dist/node/lib/SourcePayloads.d.cts +0 -30
- package/dist/node/lib/SourcePayloads.d.cts.map +0 -1
- package/dist/node/lib/SourcePayloads.d.mts +0 -30
- package/dist/node/lib/SourcePayloads.d.mts.map +0 -1
- package/dist/node/lib/SourcePayloads.d.ts +0 -30
- package/dist/node/lib/SourcePayloads.d.ts.map +0 -1
- package/dist/node/lib/index.d.cts +0 -4
- package/dist/node/lib/index.d.cts.map +0 -1
- package/dist/node/lib/index.d.mts +0 -4
- package/dist/node/lib/index.d.mts.map +0 -1
- package/dist/node/lib/index.d.ts +0 -4
- package/dist/node/lib/index.d.ts.map +0 -1
package/dist/neutral/index.cjs
DELETED
|
@@ -1,336 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
-
var __export = (target, all) => {
|
|
10
|
-
for (var name in all)
|
|
11
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
-
};
|
|
13
|
-
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (let key of __getOwnPropNames(from))
|
|
16
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
-
}
|
|
19
|
-
return to;
|
|
20
|
-
};
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
-
mod
|
|
28
|
-
));
|
|
29
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
|
|
31
|
-
// src/index.ts
|
|
32
|
-
var src_exports = {};
|
|
33
|
-
__export(src_exports, {
|
|
34
|
-
PriceForecastDetailsBox: () => PriceForecastDetailsBox,
|
|
35
|
-
PriceForecastRenderPlugin: () => PriceForecastRenderPlugin
|
|
36
|
-
});
|
|
37
|
-
module.exports = __toCommonJS(src_exports);
|
|
38
|
-
|
|
39
|
-
// src/components/DetailsBox.tsx
|
|
40
|
-
var import_chartjs_adapter_luxon = require("chartjs-adapter-luxon");
|
|
41
|
-
var import_material2 = require("@mui/material");
|
|
42
|
-
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
43
|
-
var import_react_flexbox = require("@xylabs/react-flexbox");
|
|
44
|
-
var import_chart = require("chart.js");
|
|
45
|
-
var import_react = __toESM(require("react"), 1);
|
|
46
|
-
var import_react_chartjs_2 = require("react-chartjs-2");
|
|
47
|
-
|
|
48
|
-
// src/lib/DataLineStyles.ts
|
|
49
|
-
var import_material = require("@mui/material");
|
|
50
|
-
var DataLineStyles = /* @__PURE__ */ __name((color) => ({
|
|
51
|
-
backgroundColor: color ? (0, import_material.alpha)(color, 0.5) : void 0,
|
|
52
|
-
borderColor: color
|
|
53
|
-
}), "DataLineStyles");
|
|
54
|
-
|
|
55
|
-
// src/lib/DataPointStyles.ts
|
|
56
|
-
var DataPointStyles = /* @__PURE__ */ __name((pointHoverBackgroundColor) => ({
|
|
57
|
-
pointHitRadius: 20,
|
|
58
|
-
pointHoverBackgroundColor,
|
|
59
|
-
pointHoverRadius: 10,
|
|
60
|
-
pointRadius: 5,
|
|
61
|
-
pointStyle: "circle"
|
|
62
|
-
}), "DataPointStyles");
|
|
63
|
-
|
|
64
|
-
// src/lib/MockSourcePayloads.ts
|
|
65
|
-
var MockSourcePayloads = /* @__PURE__ */ __name(() => {
|
|
66
|
-
const tenMin = 6e5;
|
|
67
|
-
return [
|
|
68
|
-
{
|
|
69
|
-
baseFee: 38.90155387825,
|
|
70
|
-
feePerGas: {
|
|
71
|
-
high: 47.9945864396,
|
|
72
|
-
low: 39.006868093,
|
|
73
|
-
medium: 39.306868093,
|
|
74
|
-
veryHigh: 44.45384380525
|
|
75
|
-
},
|
|
76
|
-
priorityFeePerGas: {
|
|
77
|
-
high: 1.0266666666666666,
|
|
78
|
-
low: -0.41000000000000003,
|
|
79
|
-
medium: 0.38,
|
|
80
|
-
veryHigh: 1.3900000000000001
|
|
81
|
-
},
|
|
82
|
-
schema: "network.xyo.blockchain.ethereum.gas",
|
|
83
|
-
timestamp: Date.now() - tenMin
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
baseFee: 38.90155387825,
|
|
87
|
-
feePerGas: {
|
|
88
|
-
high: 47.9945864396,
|
|
89
|
-
low: 39.006868093,
|
|
90
|
-
medium: 100,
|
|
91
|
-
veryHigh: 44.45384380525
|
|
92
|
-
},
|
|
93
|
-
priorityFeePerGas: {
|
|
94
|
-
high: 1.0266666666666666,
|
|
95
|
-
low: -0.41000000000000003,
|
|
96
|
-
medium: 0.38,
|
|
97
|
-
veryHigh: 1.3900000000000001
|
|
98
|
-
},
|
|
99
|
-
schema: "network.xyo.blockchain.ethereum.gas",
|
|
100
|
-
timestamp: Date.now()
|
|
101
|
-
}
|
|
102
|
-
];
|
|
103
|
-
}, "MockSourcePayloads");
|
|
104
|
-
|
|
105
|
-
// src/lib/SourcePayloads.ts
|
|
106
|
-
var SourcePayloads = class {
|
|
107
|
-
static {
|
|
108
|
-
__name(this, "SourcePayloads");
|
|
109
|
-
}
|
|
110
|
-
sourcePayloads;
|
|
111
|
-
sourcePrices;
|
|
112
|
-
constructor(sourcePayloads) {
|
|
113
|
-
this.sourcePayloads = sourcePayloads;
|
|
114
|
-
this.sourcePrices = [];
|
|
115
|
-
}
|
|
116
|
-
get payloads() {
|
|
117
|
-
return this.sourcePayloads;
|
|
118
|
-
}
|
|
119
|
-
static async build(jsonPath) {
|
|
120
|
-
const sourcePayloads = await this.fetchSourcePayloads();
|
|
121
|
-
const instance = new this(sourcePayloads);
|
|
122
|
-
const paths = jsonPath.split(".");
|
|
123
|
-
instance.sourcePrices = sourcePayloads.map((payload) => {
|
|
124
|
-
return {
|
|
125
|
-
x: payload.timestamp,
|
|
126
|
-
y: instance.jsonPathTraverser(payload, paths)
|
|
127
|
-
};
|
|
128
|
-
});
|
|
129
|
-
return instance;
|
|
130
|
-
}
|
|
131
|
-
// TODO - fetch from archivist
|
|
132
|
-
static async fetchSourcePayloads() {
|
|
133
|
-
const payloads = await Promise.resolve(MockSourcePayloads());
|
|
134
|
-
return payloads;
|
|
135
|
-
}
|
|
136
|
-
jsonPathTraverser(obj, path) {
|
|
137
|
-
let result = obj;
|
|
138
|
-
for (const key of path) {
|
|
139
|
-
if (key in result) {
|
|
140
|
-
const foundKey = key;
|
|
141
|
-
result = result[foundKey];
|
|
142
|
-
} else {
|
|
143
|
-
result = void 0;
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return result;
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
// src/lib/ForecastLineChartConfigBuilder.ts
|
|
152
|
-
var defaultOptions = /* @__PURE__ */ __name(() => ({
|
|
153
|
-
plugins: {
|
|
154
|
-
legend: {
|
|
155
|
-
position: "top"
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
responsive: true
|
|
159
|
-
}), "defaultOptions");
|
|
160
|
-
var ForecastLineChartConfigBuilder = class _ForecastLineChartConfigBuilder {
|
|
161
|
-
static {
|
|
162
|
-
__name(this, "ForecastLineChartConfigBuilder");
|
|
163
|
-
}
|
|
164
|
-
payload;
|
|
165
|
-
data;
|
|
166
|
-
options;
|
|
167
|
-
themeColors;
|
|
168
|
-
constructor(theme, payload) {
|
|
169
|
-
this.payload = payload;
|
|
170
|
-
this.data = {
|
|
171
|
-
datasets: []
|
|
172
|
-
};
|
|
173
|
-
this.options = defaultOptions();
|
|
174
|
-
this.themeColors = this.parseTheme(theme);
|
|
175
|
-
}
|
|
176
|
-
get forecastPayload() {
|
|
177
|
-
if (this.payload) {
|
|
178
|
-
return this.payload;
|
|
179
|
-
} else {
|
|
180
|
-
throw new Error("ForecastPayload was not defined");
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
static async create(theme, payload, sourcePayloadConfig) {
|
|
184
|
-
const instance = new _ForecastLineChartConfigBuilder(theme, payload);
|
|
185
|
-
await instance.build(sourcePayloadConfig?.fetch);
|
|
186
|
-
instance.refreshValues();
|
|
187
|
-
return instance;
|
|
188
|
-
}
|
|
189
|
-
async build(includeSources) {
|
|
190
|
-
this.buildOptions();
|
|
191
|
-
await this.buildData(includeSources);
|
|
192
|
-
return this;
|
|
193
|
-
}
|
|
194
|
-
async buildData(includeSources) {
|
|
195
|
-
const forecastData = this.generateDataSetForecastData();
|
|
196
|
-
const datasets = [
|
|
197
|
-
forecastData
|
|
198
|
-
];
|
|
199
|
-
if (includeSources) {
|
|
200
|
-
const sourceData = await this.generateDataSetSourcePayloads();
|
|
201
|
-
datasets.unshift(sourceData);
|
|
202
|
-
const lastSourceDataItem = sourceData.data.at(-1);
|
|
203
|
-
forecastData.data.unshift(lastSourceDataItem);
|
|
204
|
-
}
|
|
205
|
-
this.data = {
|
|
206
|
-
datasets
|
|
207
|
-
};
|
|
208
|
-
return this;
|
|
209
|
-
}
|
|
210
|
-
buildOptions() {
|
|
211
|
-
if (this.options.plugins) {
|
|
212
|
-
this.options.plugins.title = this.generateTitle();
|
|
213
|
-
this.options.plugins.legend = this.generateLegend();
|
|
214
|
-
}
|
|
215
|
-
this.options.scales = this.generateScales();
|
|
216
|
-
return this;
|
|
217
|
-
}
|
|
218
|
-
refreshValues() {
|
|
219
|
-
this.data = {
|
|
220
|
-
...this.data
|
|
221
|
-
};
|
|
222
|
-
this.options = {
|
|
223
|
-
...this.options
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
generateLegend() {
|
|
227
|
-
return {
|
|
228
|
-
labels: {
|
|
229
|
-
pointStyle: "circle",
|
|
230
|
-
usePointStyle: true
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
generateScales() {
|
|
235
|
-
return {
|
|
236
|
-
x: {
|
|
237
|
-
grid: {
|
|
238
|
-
color: this.themeColors?.gridColor
|
|
239
|
-
},
|
|
240
|
-
time: {
|
|
241
|
-
unit: "minute"
|
|
242
|
-
},
|
|
243
|
-
type: "time"
|
|
244
|
-
},
|
|
245
|
-
y: {
|
|
246
|
-
grid: {
|
|
247
|
-
color: this.themeColors?.gridColor
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
generateTitle() {
|
|
253
|
-
return {
|
|
254
|
-
display: true,
|
|
255
|
-
text: `Gas Price Forecaster (GWEI over time from ${this.forecastPayload?.values[0].timestamp ? new Date(this.forecastPayload.values[0].timestamp).toLocaleDateString() : ""})`
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
parseTheme(theme) {
|
|
259
|
-
const dark = theme.palette.mode === "dark";
|
|
260
|
-
return {
|
|
261
|
-
dataSetColorPrimary: theme.palette.primary.light,
|
|
262
|
-
dataSetColorSecondary: theme.palette.secondary.light,
|
|
263
|
-
gridColor: dark ? theme.palette.grey[800] : theme.palette.grey[300]
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
generateDataSetForecastData() {
|
|
267
|
-
return {
|
|
268
|
-
borderDash: [
|
|
269
|
-
5
|
|
270
|
-
],
|
|
271
|
-
borderDashOffset: 0.5,
|
|
272
|
-
data: this.forecastPayload.values.map((price) => ({
|
|
273
|
-
x: price.timestamp ?? 0,
|
|
274
|
-
y: price.value
|
|
275
|
-
})),
|
|
276
|
-
label: "Forecast Price",
|
|
277
|
-
...DataPointStyles(this.themeColors?.dataSetColorPrimary),
|
|
278
|
-
...DataLineStyles(this.themeColors?.dataSetColorPrimary)
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
async generateDataSetSourcePayloads() {
|
|
282
|
-
const { sourcePrices } = await SourcePayloads.build("feePerGas.medium");
|
|
283
|
-
return {
|
|
284
|
-
data: sourcePrices,
|
|
285
|
-
label: "Source Prices",
|
|
286
|
-
...DataLineStyles(this.themeColors?.dataSetColorSecondary),
|
|
287
|
-
...DataPointStyles(this.themeColors?.dataSetColorSecondary)
|
|
288
|
-
};
|
|
289
|
-
}
|
|
290
|
-
};
|
|
291
|
-
|
|
292
|
-
// src/components/DetailsBox.tsx
|
|
293
|
-
import_chart.Chart.register(import_chart.CategoryScale, import_chart.TimeScale, import_chart.PointElement, import_chart.LineElement, import_chart.LinearScale, import_chart.Title, import_chart.Tooltip, import_chart.Legend);
|
|
294
|
-
var PriceForecastDetailsBox = /* @__PURE__ */ __name(({ payload, ...props }) => {
|
|
295
|
-
const priceForecastPayload = payload;
|
|
296
|
-
const theme = (0, import_material2.useTheme)();
|
|
297
|
-
const [data, setData] = (0, import_react.useState)({
|
|
298
|
-
datasets: []
|
|
299
|
-
});
|
|
300
|
-
const [options, setOptions] = (0, import_react.useState)({});
|
|
301
|
-
(0, import_react_async_effect.useAsyncEffect)(async (mounted) => {
|
|
302
|
-
const { data: data2, options: options2 } = await ForecastLineChartConfigBuilder.create(theme, priceForecastPayload, {
|
|
303
|
-
fetch: true
|
|
304
|
-
});
|
|
305
|
-
if (mounted()) {
|
|
306
|
-
setData(data2);
|
|
307
|
-
setOptions(options2);
|
|
308
|
-
}
|
|
309
|
-
}, [
|
|
310
|
-
priceForecastPayload,
|
|
311
|
-
theme
|
|
312
|
-
]);
|
|
313
|
-
return /* @__PURE__ */ import_react.default.createElement(import_react_flexbox.FlexCol, {
|
|
314
|
-
...props,
|
|
315
|
-
busy: priceForecastPayload === void 0,
|
|
316
|
-
minHeight: "25vh"
|
|
317
|
-
}, priceForecastPayload ? /* @__PURE__ */ import_react.default.createElement(import_react_chartjs_2.Line, {
|
|
318
|
-
options,
|
|
319
|
-
data
|
|
320
|
-
}) : null);
|
|
321
|
-
}, "PriceForecastDetailsBox");
|
|
322
|
-
|
|
323
|
-
// src/Plugin.ts
|
|
324
|
-
var import_react_payload_plugin = require("@xyo-network/react-payload-plugin");
|
|
325
|
-
var PriceForecastRenderPlugin = {
|
|
326
|
-
...(0, import_react_payload_plugin.createPayloadRenderPlugin)({
|
|
327
|
-
canRender: /* @__PURE__ */ __name(() => true, "canRender"),
|
|
328
|
-
components: {
|
|
329
|
-
box: {
|
|
330
|
-
detailsBox: PriceForecastDetailsBox
|
|
331
|
-
}
|
|
332
|
-
},
|
|
333
|
-
name: "PriceForecast"
|
|
334
|
-
})
|
|
335
|
-
};
|
|
336
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/DetailsBox.tsx","../../src/lib/DataLineStyles.ts","../../src/lib/DataPointStyles.ts","../../src/lib/MockSourcePayloads.ts","../../src/lib/SourcePayloads.ts","../../src/lib/ForecastLineChartConfigBuilder.ts","../../src/Plugin.ts"],"sourcesContent":["export * from './components/index.ts'\nexport * from './Plugin.ts'\n","import 'chartjs-adapter-luxon'\n\nimport { useTheme } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { ForecastPayload } from '@xyo-network/diviner-forecasting-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport {\n CategoryScale,\n Chart as ChartJS,\n ChartData,\n ChartOptions,\n Legend,\n LinearScale,\n LineElement,\n PointElement,\n TimeScale,\n Title,\n Tooltip,\n} from 'chart.js'\nimport React, { useState } from 'react'\nimport { Line } from 'react-chartjs-2'\n\nimport { ForecastLineChartConfigBuilder } from '../lib/index.ts'\n\nChartJS.register(CategoryScale, TimeScale, PointElement, LineElement, LinearScale, Title, Tooltip, Legend)\n\nexport interface PriceForecastDetailsBoxProps extends FlexBoxProps {\n payload?: Payload\n}\n\nexport const PriceForecastDetailsBox: React.FC<PriceForecastDetailsBoxProps> = ({ payload, ...props }) => {\n const priceForecastPayload = payload as ForecastPayload | undefined\n const theme = useTheme()\n const [data, setData] = useState<ChartData<'line'>>({ datasets: [] })\n const [options, setOptions] = useState<ChartOptions<'line'>>({})\n\n useAsyncEffect(\n\n async (mounted) => {\n const { data, options } = await ForecastLineChartConfigBuilder.create(theme, priceForecastPayload, { fetch: true })\n if (mounted()) {\n setData(data)\n setOptions(options)\n }\n },\n [priceForecastPayload, theme],\n )\n\n return (\n <FlexCol {...props} busy={priceForecastPayload === undefined} minHeight=\"25vh\">\n {priceForecastPayload\n ? <Line options={options} data={data} />\n : null}\n </FlexCol>\n )\n}\n","import { alpha } from '@mui/material'\n\nexport const DataLineStyles = (color?: string) => ({\n backgroundColor: color ? alpha(color, 0.5) : undefined,\n borderColor: color,\n})\n","export const DataPointStyles = (pointHoverBackgroundColor?: string) => ({\n pointHitRadius: 20,\n pointHoverBackgroundColor,\n pointHoverRadius: 10,\n pointRadius: 5,\n pointStyle: 'circle',\n})\n","export const MockSourcePayloads = () => {\n const tenMin = 600_000\n return [\n {\n baseFee: 38.901_553_878_25,\n feePerGas: { high: 47.994_586_439_6, low: 39.006_868_093, medium: 39.306_868_093, veryHigh: 44.453_843_805_25 },\n priorityFeePerGas: { high: 1.026_666_666_666_666_6, low: -0.410_000_000_000_000_03, medium: 0.38, veryHigh: 1.390_000_000_000_000_1 },\n schema: 'network.xyo.blockchain.ethereum.gas',\n timestamp: Date.now() - tenMin,\n },\n {\n baseFee: 38.901_553_878_25,\n feePerGas: { high: 47.994_586_439_6, low: 39.006_868_093, medium: 100, veryHigh: 44.453_843_805_25 },\n priorityFeePerGas: { high: 1.026_666_666_666_666_6, low: -0.410_000_000_000_000_03, medium: 0.38, veryHigh: 1.390_000_000_000_000_1 },\n schema: 'network.xyo.blockchain.ethereum.gas',\n timestamp: Date.now(),\n },\n ]\n}\n","import { Payload } from '@xyo-network/payload-model'\nimport { Point } from 'chart.js'\n\nimport { MockSourcePayloads } from './MockSourcePayloads.ts'\n\nexport class SourcePayloads {\n sourcePrices: Point[] = []\n\n constructor(public sourcePayloads: Payload[]) {}\n\n get payloads() {\n return this.sourcePayloads\n }\n\n static async build(jsonPath: string) {\n const sourcePayloads = await this.fetchSourcePayloads()\n const instance = new this(sourcePayloads)\n\n const paths = jsonPath.split('.')\n instance.sourcePrices = sourcePayloads.map((payload) => {\n return { x: payload.timestamp, y: instance.jsonPathTraverser(payload, paths) }\n })\n return instance\n }\n\n // TODO - fetch from archivist\n static async fetchSourcePayloads() {\n const payloads = await Promise.resolve(MockSourcePayloads())\n return payloads\n }\n\n jsonPathTraverser(obj: Payload, path: string[]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let result: any = obj\n for (const key of path) {\n if (key in result) {\n const foundKey = key as keyof typeof result\n result = result[foundKey]\n } else {\n result = undefined\n break\n }\n }\n\n return result\n }\n}\n","import { Theme } from '@mui/material'\nimport { ForecastPayload } from '@xyo-network/diviner-forecasting-model'\nimport { ChartData, ChartDataset, ChartOptions, LegendOptions, Point, ScaleChartOptions } from 'chart.js'\n\nimport { DataLineStyles } from './DataLineStyles.ts'\nimport { DataPointStyles } from './DataPointStyles.ts'\nimport { SourcePayloads } from './SourcePayloads.ts'\n\ninterface SourcePayloadConfig {\n fetch: boolean\n sampleSize?: number\n}\n\ninterface ThemeColors {\n dataSetColorPrimary: string\n dataSetColorSecondary: string\n gridColor: string\n}\n\nconst defaultOptions: () => ChartOptions<'line'> = () => ({\n plugins: {\n legend: {\n position: 'top' as const,\n },\n },\n responsive: true,\n})\n\nexport class ForecastLineChartConfigBuilder {\n data: ChartData<'line'> = {\n datasets: [],\n }\n\n options: ChartOptions<'line'> = defaultOptions()\n themeColors: ThemeColors | undefined\n\n constructor(\n theme: Theme,\n private payload?: ForecastPayload,\n ) {\n this.themeColors = this.parseTheme(theme)\n }\n\n get forecastPayload() {\n if (this.payload) {\n return this.payload\n } else {\n throw new Error('ForecastPayload was not defined')\n }\n }\n\n static async create(theme: Theme, payload?: ForecastPayload, sourcePayloadConfig?: SourcePayloadConfig) {\n const instance = new ForecastLineChartConfigBuilder(theme, payload)\n\n await instance.build(sourcePayloadConfig?.fetch)\n\n instance.refreshValues()\n\n return instance\n }\n\n async build(includeSources?: boolean) {\n this.buildOptions()\n await this.buildData(includeSources)\n return this\n }\n\n async buildData(includeSources?: boolean) {\n const forecastData = this.generateDataSetForecastData()\n\n const datasets: ChartDataset<'line'>[] = [forecastData]\n\n if (includeSources) {\n // build data from sources in forecastPayload\n const sourceData = await this.generateDataSetSourcePayloads()\n datasets.unshift(sourceData)\n\n // add last source point as first item in prediction to connect the lines\n const lastSourceDataItem = sourceData.data.at(-1) as Point\n forecastData.data.unshift(lastSourceDataItem)\n }\n\n this.data = {\n datasets,\n }\n\n return this\n }\n\n buildOptions() {\n if (this.options.plugins) {\n this.options.plugins.title = this.generateTitle()\n this.options.plugins.legend = this.generateLegend()\n }\n this.options.scales = this.generateScales()\n\n return this\n }\n\n refreshValues() {\n this.data = { ...this.data }\n this.options = { ...this.options }\n }\n\n protected generateLegend() {\n return {\n labels: {\n pointStyle: 'circle',\n usePointStyle: true,\n },\n } as LegendOptions<'line'>\n }\n\n protected generateScales() {\n return {\n x: {\n grid: {\n color: this.themeColors?.gridColor,\n },\n time: {\n unit: 'minute',\n },\n type: 'time',\n },\n y: {\n grid: {\n color: this.themeColors?.gridColor,\n },\n },\n } as unknown as ScaleChartOptions<'line'>['scales']\n }\n\n protected generateTitle() {\n return {\n display: true,\n text: `Gas Price Forecaster (GWEI over time from ${\n this.forecastPayload?.values[0].timestamp ? new Date(this.forecastPayload.values[0].timestamp).toLocaleDateString() : ''\n })`,\n }\n }\n\n protected parseTheme(theme: Theme) {\n const dark = theme.palette.mode === 'dark'\n return {\n dataSetColorPrimary: theme.palette.primary.light,\n dataSetColorSecondary: theme.palette.secondary.light,\n gridColor: dark ? theme.palette.grey[800] : theme.palette.grey[300],\n }\n }\n\n private generateDataSetForecastData(): ChartDataset<'line'> {\n return {\n borderDash: [5],\n borderDashOffset: 0.5,\n data: this.forecastPayload.values.map(price => ({ x: price.timestamp ?? 0, y: price.value })),\n label: 'Forecast Price',\n ...DataPointStyles(this.themeColors?.dataSetColorPrimary),\n ...DataLineStyles(this.themeColors?.dataSetColorPrimary),\n }\n }\n\n private async generateDataSetSourcePayloads(): Promise<ChartDataset<'line'>> {\n const { sourcePrices } = await SourcePayloads.build('feePerGas.medium')\n return {\n data: sourcePrices,\n label: 'Source Prices',\n ...DataLineStyles(this.themeColors?.dataSetColorSecondary),\n ...DataPointStyles(this.themeColors?.dataSetColorSecondary),\n }\n }\n}\n","import { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { PriceForecastDetailsBox } from './components/index.ts'\n\nexport const PriceForecastRenderPlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: () => true,\n components: {\n box: {\n detailsBox: PriceForecastDetailsBox,\n },\n },\n name: 'PriceForecast',\n }),\n}\n"],"mappings":"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","names":["import_material","DataLineStyles","color","backgroundColor","alpha","undefined","borderColor","DataPointStyles","pointHoverBackgroundColor","pointHitRadius","pointHoverRadius","pointRadius","pointStyle","MockSourcePayloads","tenMin","baseFee","feePerGas","high","low","medium","veryHigh","priorityFeePerGas","schema","timestamp","Date","now","SourcePayloads","sourcePrices","constructor","sourcePayloads","payloads","build","jsonPath","fetchSourcePayloads","instance","paths","split","map","payload","x","timestamp","y","jsonPathTraverser","Promise","resolve","MockSourcePayloads","obj","path","result","key","foundKey","undefined","defaultOptions","plugins","legend","position","responsive","ForecastLineChartConfigBuilder","data","options","themeColors","constructor","theme","payload","datasets","parseTheme","forecastPayload","Error","create","sourcePayloadConfig","instance","build","fetch","refreshValues","includeSources","buildOptions","buildData","forecastData","generateDataSetForecastData","sourceData","generateDataSetSourcePayloads","unshift","lastSourceDataItem","at","title","generateTitle","generateLegend","scales","generateScales","labels","pointStyle","usePointStyle","x","grid","color","gridColor","time","unit","type","y","display","text","values","timestamp","Date","toLocaleDateString","dark","palette","mode","dataSetColorPrimary","primary","light","dataSetColorSecondary","secondary","grey","borderDash","borderDashOffset","map","price","value","label","DataPointStyles","DataLineStyles","sourcePrices","SourcePayloads","ChartJS","register","CategoryScale","TimeScale","PointElement","LineElement","LinearScale","Title","Tooltip","Legend","PriceForecastDetailsBox","payload","props","priceForecastPayload","theme","useTheme","data","setData","useState","datasets","options","setOptions","useAsyncEffect","mounted","ForecastLineChartConfigBuilder","create","fetch","React","FlexCol","busy","undefined","minHeight","Line","PriceForecastRenderPlugin","createPayloadRenderPlugin","canRender","components","box","detailsBox","PriceForecastDetailsBox","name"]}
|
package/dist/neutral/index.d.cts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA"}
|
package/dist/neutral/index.d.mts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA"}
|
package/dist/neutral/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA"}
|