mirror of
https://github.com/logos-storage/logos-storage-marketplace-ui.git
synced 2026-01-02 13:33:06 +00:00
Update to price per byte
This commit is contained in:
parent
cc066ffa40
commit
df09719bb3
8
package-lock.json
generated
8
package-lock.json
generated
@ -10,7 +10,7 @@
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@codex-storage/marketplace-ui-components": "^0.0.51",
|
||||
"@codex-storage/sdk-js": "^0.0.17",
|
||||
"@codex-storage/sdk-js": "^0.0.18",
|
||||
"@sentry/browser": "^8.32.0",
|
||||
"@sentry/react": "^8.31.0",
|
||||
"@tanstack/react-query": "^5.51.15",
|
||||
@ -433,9 +433,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@codex-storage/sdk-js": {
|
||||
"version": "0.0.17",
|
||||
"resolved": "https://registry.npmjs.org/@codex-storage/sdk-js/-/sdk-js-0.0.17.tgz",
|
||||
"integrity": "sha512-rd9c1TkLJMPSjxg9IFoDmK44DaEOU0nGHK9YVGy9Sdnw4oiWTv5wl2N1U8UMkQT+aWBKmwy/VHLdocTqwazdpA==",
|
||||
"version": "0.0.18",
|
||||
"resolved": "https://registry.npmjs.org/@codex-storage/sdk-js/-/sdk-js-0.0.18.tgz",
|
||||
"integrity": "sha512-FbQFRJgSuol6P00Wk76XShSGDIlQpTEr4Zgt3Ze1uRxC8gVpVRiHME2Z5/EOq7Fm25So9aCSD7MSKDULanHDpQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"valibot": "^0.32.0"
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
],
|
||||
"dependencies": {
|
||||
"@codex-storage/marketplace-ui-components": "^0.0.51",
|
||||
"@codex-storage/sdk-js": "^0.0.17",
|
||||
"@codex-storage/sdk-js": "^0.0.18",
|
||||
"@sentry/browser": "^8.32.0",
|
||||
"@sentry/react": "^8.31.0",
|
||||
"@tanstack/react-query": "^5.51.15",
|
||||
|
||||
@ -90,9 +90,9 @@ export function PurchasesTable() {
|
||||
const rows = sorted.map((p, index) => {
|
||||
const r = p.request;
|
||||
const ask = p.request.ask;
|
||||
const duration = parseInt(p.request.ask.duration, 10);
|
||||
const pf = parseInt(p.request.ask.proofProbability, 10);
|
||||
|
||||
const duration = parseInt(ask.duration, 10);
|
||||
const pf = parseInt(ask.proofProbability, 10);
|
||||
const reward = PurchaseUtils.calculatePrice(p.request);
|
||||
return (
|
||||
<Row
|
||||
cells={[
|
||||
@ -105,7 +105,7 @@ export function PurchasesTable() {
|
||||
<TruncateCell value={r.id} />,
|
||||
<Cell>{Times.pretty(duration)}</Cell>,
|
||||
<Cell>{ask.slots.toString()}</Cell>,
|
||||
<Cell>{ask.reward + " CDX"}</Cell>,
|
||||
<Cell>{reward + " CDX"}</Cell>,
|
||||
<Cell>{pf.toString()}</Cell>,
|
||||
<CustomStateCellRender state={p.state} message={p.error} />,
|
||||
]}></Row>
|
||||
|
||||
@ -1,42 +1,43 @@
|
||||
import { TabSortState } from "@codex-storage/marketplace-ui-components"
|
||||
import { CodexPurchase } from "@codex-storage/sdk-js"
|
||||
import { TabSortState } from "@codex-storage/marketplace-ui-components";
|
||||
import { CodexPurchase, CodexStorageRequest } from "@codex-storage/sdk-js";
|
||||
|
||||
export const PurchaseUtils = {
|
||||
sortById: (state: TabSortState) =>
|
||||
(a: CodexPurchase, b: CodexPurchase) => {
|
||||
|
||||
return state === "desc"
|
||||
? b.requestId
|
||||
.toLocaleLowerCase()
|
||||
.localeCompare(a.requestId.toLocaleLowerCase())
|
||||
: a.requestId
|
||||
.toLocaleLowerCase()
|
||||
.localeCompare(b.requestId.toLocaleLowerCase())
|
||||
},
|
||||
sortByState: (state: TabSortState) =>
|
||||
(a: CodexPurchase, b: CodexPurchase) => state === "desc"
|
||||
? b.state
|
||||
.toLocaleLowerCase()
|
||||
.localeCompare(a.state.toLocaleLowerCase())
|
||||
: a.state
|
||||
.toLocaleLowerCase()
|
||||
.localeCompare(b.state.toLocaleLowerCase())
|
||||
,
|
||||
sortByDuration: (state: TabSortState) =>
|
||||
(a: CodexPurchase, b: CodexPurchase) => state === "desc"
|
||||
? Number(b.request.ask.duration) - Number(a.request.ask.duration)
|
||||
: Number(a.request.ask.duration) - Number(b.request.ask.duration)
|
||||
,
|
||||
sortByReward: (state: TabSortState) =>
|
||||
(a: CodexPurchase, b: CodexPurchase) => state === "desc"
|
||||
? Number(b.request.ask.reward) - Number(a.request.ask.reward)
|
||||
: Number(a.request.ask.reward) - Number(b.request.ask.reward)
|
||||
,
|
||||
sortByUploadedAt: (state: TabSortState, table: Record<string, number>) =>
|
||||
(a: CodexPurchase, b: CodexPurchase) => {
|
||||
return state === "desc"
|
||||
? (table[b.requestId] || 0) - (table[a.requestId] || 0)
|
||||
: (table[a.requestId] || 0) - (table[b.requestId] || 0)
|
||||
}
|
||||
,
|
||||
}
|
||||
sortById: (state: TabSortState) => (a: CodexPurchase, b: CodexPurchase) => {
|
||||
return state === "desc"
|
||||
? b.requestId
|
||||
.toLocaleLowerCase()
|
||||
.localeCompare(a.requestId.toLocaleLowerCase())
|
||||
: a.requestId
|
||||
.toLocaleLowerCase()
|
||||
.localeCompare(b.requestId.toLocaleLowerCase());
|
||||
},
|
||||
sortByState: (state: TabSortState) => (a: CodexPurchase, b: CodexPurchase) =>
|
||||
state === "desc"
|
||||
? b.state.toLocaleLowerCase().localeCompare(a.state.toLocaleLowerCase())
|
||||
: a.state.toLocaleLowerCase().localeCompare(b.state.toLocaleLowerCase()),
|
||||
sortByDuration:
|
||||
(state: TabSortState) => (a: CodexPurchase, b: CodexPurchase) =>
|
||||
state === "desc"
|
||||
? Number(b.request.ask.duration) - Number(a.request.ask.duration)
|
||||
: Number(a.request.ask.duration) - Number(b.request.ask.duration),
|
||||
sortByReward:
|
||||
(state: TabSortState) => (a: CodexPurchase, b: CodexPurchase) =>
|
||||
state === "desc"
|
||||
? PurchaseUtils.calculatePrice(b.request) -
|
||||
PurchaseUtils.calculatePrice(a.request)
|
||||
: PurchaseUtils.calculatePrice(a.request) -
|
||||
PurchaseUtils.calculatePrice(b.request),
|
||||
sortByUploadedAt:
|
||||
(state: TabSortState, table: Record<string, number>) =>
|
||||
(a: CodexPurchase, b: CodexPurchase) => {
|
||||
return state === "desc"
|
||||
? (table[b.requestId] || 0) - (table[a.requestId] || 0)
|
||||
: (table[a.requestId] || 0) - (table[b.requestId] || 0);
|
||||
},
|
||||
calculatePrice(request: CodexStorageRequest) {
|
||||
return (
|
||||
parseInt(request.ask.slotSize, 10) *
|
||||
parseInt(request.ask.pricePerBytePerSecond, 10)
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
@ -83,10 +83,11 @@ export function StorageRequestCreate() {
|
||||
WebStorage.set("storage-request-step", step);
|
||||
|
||||
if (step == CONFIRM_STATE) {
|
||||
const { availability, availabilityUnit, expiration, ...rest } =
|
||||
const { availability, availabilityUnit, expiration, reward, ...rest } =
|
||||
storageRequest;
|
||||
mutateAsync({
|
||||
...rest,
|
||||
pricePerBytePerSecond: reward,
|
||||
duration: Math.trunc(availability * Times.value(availabilityUnit)),
|
||||
expiry: expiration * 60,
|
||||
});
|
||||
|
||||
@ -290,13 +290,13 @@ export function StorageRequestReview({
|
||||
onValidation={isInvalidNumber}
|
||||
title="Penality tokens"></CardNumbers>
|
||||
<CardNumbers
|
||||
helper="The maximum amount of tokens paid per second per slot to hosts the client is willing to pay."
|
||||
helper="The maximum amount of tokens paid per second per byte to hosts the client is willing to pay."
|
||||
id="reward"
|
||||
unit={"Reward"}
|
||||
value={storageRequest.reward.toString()}
|
||||
onChange={onRewardChange}
|
||||
onValidation={isInvalidNumber}
|
||||
title="Reward tokens for hosts"></CardNumbers>
|
||||
title="Price per byte"></CardNumbers>
|
||||
</div>
|
||||
|
||||
<div className="row">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user