diff --git a/apps/playground/src/data/links-utilities.ts b/apps/playground/src/data/links-utilities.ts index 7bc9f776..c600d465 100644 --- a/apps/playground/src/data/links-utilities.ts +++ b/apps/playground/src/data/links-utilities.ts @@ -29,8 +29,8 @@ export const metaDeserializers = { }; export const linksUtilities: MenuItem[] = [ - // metaSerializers, - // metaDeserializers, + metaSerializers, + metaDeserializers, metaResolvers, ]; diff --git a/apps/playground/src/pages/apis/utilities/deserializers/deserialize-datum.tsx b/apps/playground/src/pages/apis/utilities/deserializers/deserialize-datum.tsx index 595d73eb..43c5d870 100644 --- a/apps/playground/src/pages/apis/utilities/deserializers/deserialize-datum.tsx +++ b/apps/playground/src/pages/apis/utilities/deserializers/deserialize-datum.tsx @@ -27,7 +27,7 @@ function Left() { } function Right() { - const [userInput, setUserInput] = useState(""); + const [userInput, setUserInput] = useState("167a4a048d87fcee0425ed200615ff2356f472c6413472c6106b8c5da52e3fd0"); async function runDemo() { return deserializeDatum(userInput); diff --git a/apps/playground/src/pages/apis/utilities/deserializers/deserialize-poolid.tsx b/apps/playground/src/pages/apis/utilities/deserializers/deserialize-poolid.tsx index bbfe34e9..8b0a7e86 100644 --- a/apps/playground/src/pages/apis/utilities/deserializers/deserialize-poolid.tsx +++ b/apps/playground/src/pages/apis/utilities/deserializers/deserialize-poolid.tsx @@ -22,7 +22,7 @@ export default function DeserializePoolId() { function Left() { return ( <> -

Deserialize a script from a poolxxxx to Ed25519 key hash.

+

Deserialize a script from a pool id to Ed25519 key hash.

); } @@ -39,7 +39,7 @@ function Right() { return ( diff --git a/apps/playground/src/pages/apis/utilities/resolvers/index.tsx b/apps/playground/src/pages/apis/utilities/resolvers/index.tsx index f9ce53c9..1ffa3829 100644 --- a/apps/playground/src/pages/apis/utilities/resolvers/index.tsx +++ b/apps/playground/src/pages/apis/utilities/resolvers/index.tsx @@ -7,13 +7,10 @@ import { metaResolvers } from "~/data/links-utilities"; import ResolveDataHash from "./resolve-data-hash"; import ResolveEpochNumber from "./resolve-epoch-number"; import ResolveFingerprint from "./resolve-fingerprint"; -import ResolveNativeScriptAddress from "./resolve-native-script-address"; import ResolveNativeScriptHash from "./resolve-native-script-hash"; -import ResolvePaymentKeyHash from "./resolve-payment-key-hash"; -import ResolvePlutusScriptAddress from "./resolve-plutus-script-address"; -import ResolvePlutusScriptHash from "./resolve-plutus-script-hash"; import ResolvePrivateKey from "./resolve-private-key"; import ResolveScriptHash from "./resolve-script-hash"; +import ResolveScriptHashDRepId from "./resolve-script-hash-rep-id"; import ResolveSlotNumber from "./resolve-slot-number"; import ResolveRewardAddress from "./resolve-stake-address"; import ResolveRewardHash from "./resolve-stake-hash"; @@ -21,20 +18,24 @@ import ResolveTxHash from "./resolve-tx-hash"; const ReactPage: NextPage = () => { const sidebarItems = [ + { label: "Private Key", to: "resolvePrivateKey" }, + { label: "Transaction Hash", to: "resolveTxHash" }, { label: "Data Hash", to: "resolveDataHash" }, - { label: "Fingerprint", to: "resolveFingerprint" }, - { label: "Native Script Address", to: "resolveNativeScriptAddress" }, { label: "Native Script Hash", to: "resolveNativeScriptHash" }, - { label: "Payment Key Hash", to: "resolvePaymentKeyHash" }, - { label: "Plutus Script Address", to: "resolvePlutusScriptAddress" }, - { label: "Plutus Script Hash", to: "resolvePlutusScriptHash" }, - { label: "Private Key", to: "resolvePrivateKey" }, { label: "Script Hash", to: "resolveScriptHash" }, + { label: "Fingerprint", to: "resolveFingerprint" }, { label: "Stake Address", to: "resolveRewardAddress" }, { label: "Stake Key Hash", to: "resolveRewardHash" }, - { label: "Transaction Hash", to: "resolveTxHash" }, + { label: "Script Hash Rep Id", to: "resolveScriptHashDRepId" }, { label: "Epoch Number", to: "resolveEpochNumber" }, { label: "Slot Number", to: "resolveSlotNumber" }, + + // ------------------- Deprecated zone --------------------- + + // { label: "Native Script Address", to: "resolveNativeScriptAddress" }, + // { label: "Payment Key Hash", to: "resolvePaymentKeyHash" }, + // { label: "Plutus Script Address", to: "resolvePlutusScriptAddress" }, + // { label: "Plutus Script Hash", to: "resolvePlutusScriptHash" }, ]; return ( @@ -49,20 +50,24 @@ const ReactPage: NextPage = () => { <> + + - - - - - - + - + + + {/* ------------------- Deprecated zone ---------------------*/} + {/* */} + {/* */} + {/* */} + {/* */} + ); diff --git a/apps/playground/src/pages/apis/utilities/resolvers/resolve-native-script-hash.tsx b/apps/playground/src/pages/apis/utilities/resolvers/resolve-native-script-hash.tsx index c9d3ce90..ae6ded69 100644 --- a/apps/playground/src/pages/apis/utilities/resolvers/resolve-native-script-hash.tsx +++ b/apps/playground/src/pages/apis/utilities/resolvers/resolve-native-script-hash.tsx @@ -66,7 +66,7 @@ function Right() { codeSnippet += ` ],\n`; codeSnippet += `};\n`; codeSnippet += `\n`; - codeSnippet += `const hash = resolveNativeScriptHash(nativeScript);`; + codeSnippet += `resolveNativeScriptHash(nativeScript);`; return ( + ); +} + +function Left() { + return ( + <> +

+ Resolve Rep Id from scrip hash. +

+ + + ); +} + +function Right() { + + async function runDemo() { + let script: NativeScript = { + type: "all", + scripts: [ + { + type: "sig", + keyHash: demoPubKeyHash + }, + ], + }; + + const dataHash = resolveScriptHashDRepId(resolveNativeScriptHash(script)); + return dataHash; + } + + let codeSnippet = ``; + codeSnippet += `let script: NativeScript = {\n`; + codeSnippet += ` type: "all",\n`; + codeSnippet += ` scripts: [\n`; + codeSnippet += ` {\n`; + codeSnippet += ` type: "sig",\n`; + codeSnippet += ` keyHash: '${demoPubKeyHash}'\n`; + codeSnippet += ` },\n`; + codeSnippet += ` ],\n`; + codeSnippet += ` };\n\n`; + codeSnippet += `resolveScriptHashDRepId(resolveNativeScriptHash(script));`; + + return ( + + ); +} diff --git a/apps/playground/src/pages/apis/utilities/serializers/serialize-address-obj.tsx b/apps/playground/src/pages/apis/utilities/serializers/serialize-address-obj.tsx index 885660c0..b9392ac4 100644 --- a/apps/playground/src/pages/apis/utilities/serializers/serialize-address-obj.tsx +++ b/apps/playground/src/pages/apis/utilities/serializers/serialize-address-obj.tsx @@ -1,5 +1,9 @@ + +import { scriptAddress, serializeAddressObj } from "@meshsdk/core"; + import LiveCodeDemo from "~/components/sections/live-code-demo"; import TwoColumnsScroll from "~/components/sections/two-columns-scroll"; +import { demoPubKeyHash, demoStakeCredential } from "~/data/cardano"; export default function SerializeAddressObj() { return ( @@ -22,10 +26,20 @@ function Left() { function Right() { async function runDemo() { - // return serializeAddressObj(address); + const address = scriptAddress( + demoPubKeyHash, + demoStakeCredential + ); + + return serializeAddressObj(address); } let codeSnippet = ``; + codeSnippet += `const address = scriptAddress(\n`; + codeSnippet += ` '${demoPubKeyHash}',\n`; + codeSnippet += ` '${demoStakeCredential}'\n`; + codeSnippet += `);\n\n`; + codeSnippet += `serializeAddressObj(address);`; return ( (demoPubKeyHash); + async function runDemo() { - // return serializePoolId(address); + return serializePoolId(userInput); } - let codeSnippet = ``; + let codeSnippet = `serializePoolId('${userInput}');`; return ( + > + setUserInput(e.target.value)} + label="Pool Id" + key={0} + />, + ]} + /> + ); } diff --git a/apps/playground/src/pages/apis/utilities/serializers/serialize-reward-address.tsx b/apps/playground/src/pages/apis/utilities/serializers/serialize-reward-address.tsx index 6c37604c..21586eb0 100644 --- a/apps/playground/src/pages/apis/utilities/serializers/serialize-reward-address.tsx +++ b/apps/playground/src/pages/apis/utilities/serializers/serialize-reward-address.tsx @@ -1,5 +1,13 @@ +import { useState } from "react"; + +import { serializeRewardAddress } from "@meshsdk/core"; + +import Input from "~/components/form/input"; +import Select from "~/components/form/select"; +import InputTable from "~/components/sections/input-table"; import LiveCodeDemo from "~/components/sections/live-code-demo"; import TwoColumnsScroll from "~/components/sections/two-columns-scroll"; +import { demoPubKeyHash } from "~/data/cardano"; export default function SerializeRewardAddress() { return ( @@ -21,11 +29,15 @@ function Left() { } function Right() { + const [userInput, setUserInput] = useState(demoPubKeyHash) + const [isScriptHash, setIsScriptHash] = useState(true); + const [network, setNetwork] = useState<"testnet" | "mainnet">("testnet"); + async function runDemo() { - // return serializeRewardAddress(address); + return serializeRewardAddress(userInput, isScriptHash, network === "testnet" ? 0 : 1); } - let codeSnippet = ``; + let codeSnippet = `serializeRewardAddress('${userInput}', ${isScriptHash === true ? 'true': 'false'}, ${network === "testnet" ? 0 : 1});`; return ( + > + setUserInput(e.target.value)} + label="Script Hash/Key Hash" + key={0} + />, + ) => + setNetwork( + e.target.value as "testnet" | "mainnet", + ) + } + label="Select network" + key={2} + />, + ]} + /> + +
); }