diff --git a/components/GithubFileReaderDisplay.tsx b/components/GithubFileReaderDisplay.tsx index 82d39b4..39b4f86 100644 --- a/components/GithubFileReaderDisplay.tsx +++ b/components/GithubFileReaderDisplay.tsx @@ -92,6 +92,12 @@ const GithubFileReaderDisplay: React.FC = ({ ); } + const getGithubLineLink = () => { + // Add line numbers to GitHub URL + const lineFragment = toLine ? `#L${fromLine}-L${toLine}` : `#L${fromLine}`; + return `${url}${lineFragment}`; + }; + return (
@@ -106,7 +112,7 @@ const GithubFileReaderDisplay: React.FC = ({ Lines {fromLine}-{toLine || "end"} @@ -27,8 +47,8 @@ First, define your context struct that implements the `EigenlayerContext` trait: @@ -49,7 +69,7 @@ Finally, instantiate your context in your main runner: diff --git a/pages/developers/blueprint-contexts/evm-provider-context.mdx b/pages/developers/blueprint-contexts/evm-provider-context.mdx index bf478eb..eff2198 100644 --- a/pages/developers/blueprint-contexts/evm-provider-context.mdx +++ b/pages/developers/blueprint-contexts/evm-provider-context.mdx @@ -1,4 +1,8 @@ -import GithubFileReaderDisplay from '../../../components/GithubFileReaderDisplay'; +--- +title: EVM Provider Context +--- + +import GithubFileReaderDisplay from '/components/GithubFileReaderDisplay'; # EVM Provider Context @@ -10,8 +14,8 @@ The `EvmProviderContext` trait provides access to an EVM provider: diff --git a/pages/developers/blueprint-contexts/keystore-context.mdx b/pages/developers/blueprint-contexts/keystore-context.mdx index 317a44d..010fb94 100644 --- a/pages/developers/blueprint-contexts/keystore-context.mdx +++ b/pages/developers/blueprint-contexts/keystore-context.mdx @@ -1,4 +1,8 @@ -import GithubFileReaderDisplay from '../../../components/GithubFileReaderDisplay'; +--- +title: Keystore Context +--- + +import GithubFileReaderDisplay from '/components/GithubFileReaderDisplay'; # Keystore Context @@ -16,8 +20,8 @@ The `KeystoreContext` trait provides access to a `GenericKeystore` that implemen @@ -49,7 +53,7 @@ The `KeystoreContext` trait provides comprehensive key management capabilities t diff --git a/pages/developers/blueprint-contexts/service-context.mdx b/pages/developers/blueprint-contexts/service-context.mdx index 0f4f7a5..e23fba1 100644 --- a/pages/developers/blueprint-contexts/service-context.mdx +++ b/pages/developers/blueprint-contexts/service-context.mdx @@ -1,4 +1,8 @@ -import GithubFileReaderDisplay from '../../../components/GithubFileReaderDisplay'; +--- +title: Tangle Service Context +--- + +import GithubFileReaderDisplay from '/components/GithubFileReaderDisplay'; # Service Context @@ -15,8 +19,8 @@ The `ServiceContext` trait provides access to service-related functionality that diff --git a/pages/developers/blueprint-contexts/tangle-client-context.mdx b/pages/developers/blueprint-contexts/tangle-client-context.mdx index 3e8a5c1..4ccc3ff 100644 --- a/pages/developers/blueprint-contexts/tangle-client-context.mdx +++ b/pages/developers/blueprint-contexts/tangle-client-context.mdx @@ -1,4 +1,8 @@ -import GithubFileReaderDisplay from '../../../components/GithubFileReaderDisplay'; +--- +title: Tangle Client Context +--- + +import GithubFileReaderDisplay from '/components/GithubFileReaderDisplay'; # Tangle Client Context @@ -15,8 +19,8 @@ The `TangleClientContext` trait provides access to a Subxt client that enables: diff --git a/pages/developers/blueprint-event-listeners/evm-contracts.mdx b/pages/developers/blueprint-event-listeners/evm-contracts.mdx index db1b26d..0bb6c4b 100644 --- a/pages/developers/blueprint-event-listeners/evm-contracts.mdx +++ b/pages/developers/blueprint-event-listeners/evm-contracts.mdx @@ -1,8 +1,8 @@ -import GithubFileReaderDisplay from '@/components/GithubFileReaderDisplay' - +--- +title: EVM Contract Listeners --- -## title: EVM Contract Listeners +import GithubFileReaderDisplay from '@/components/GithubFileReaderDisplay' # EVM Contract Listeners @@ -24,7 +24,7 @@ Like the `TangleEventListener`, the `EvmContractEventListener` is already implem @@ -35,7 +35,7 @@ EVM Contract events benefit from a simple pre-processor that extracts the parame diff --git a/pages/developers/blueprint-event-listeners/introduction.mdx b/pages/developers/blueprint-event-listeners/introduction.mdx index 281d9d3..eae3ea0 100644 --- a/pages/developers/blueprint-event-listeners/introduction.mdx +++ b/pages/developers/blueprint-event-listeners/introduction.mdx @@ -1,3 +1,7 @@ +--- +title: Event Listeners +--- + import GithubFileReaderDisplay from '@/components/GithubFileReaderDisplay'; ## Event Listeners @@ -21,8 +25,8 @@ Event listeners in the SDK are designed to be flexible and allow developers to c diff --git a/pages/developers/blueprint-event-listeners/periodic-listeners.mdx b/pages/developers/blueprint-event-listeners/periodic-listeners.mdx index 5102b85..555029e 100644 --- a/pages/developers/blueprint-event-listeners/periodic-listeners.mdx +++ b/pages/developers/blueprint-event-listeners/periodic-listeners.mdx @@ -1,8 +1,8 @@ -import GithubFileReaderDisplay from "../../../components/GithubFileReaderDisplay"; - +--- +title: Periodic Listeners --- -## title: Periodic Listeners +import GithubFileReaderDisplay from "/components/GithubFileReaderDisplay"; # Periodic Listeners @@ -46,9 +46,9 @@ We can make a `PeriodicEventListener` that ticks every 6000ms to check the statu Start by defining our inner event listener (`T` = `WebPoller`, in this case), and implement the `EventListener` trait. @@ -57,17 +57,17 @@ Start by defining our inner event listener (`T` = `WebPoller`, in this case), an Implement the pre-processor and post-processors for the event listener: Integrate the event listener inside the `job`: diff --git a/pages/developers/blueprint-event-listeners/tangle-job-calls.mdx b/pages/developers/blueprint-event-listeners/tangle-job-calls.mdx index 1a558f9..728d631 100644 --- a/pages/developers/blueprint-event-listeners/tangle-job-calls.mdx +++ b/pages/developers/blueprint-event-listeners/tangle-job-calls.mdx @@ -1,8 +1,8 @@ -import GithubFileReaderDisplay from '@/components/GithubFileReaderDisplay'; - +--- +title: Tangle Job Call Listeners --- -## title: Tangle Job Call Listeners +import GithubFileReaderDisplay from '@/components/GithubFileReaderDisplay'; # Tangle Job Call Listeners @@ -33,7 +33,7 @@ The `TangleEventListener` is already implemented and ready to use. Simply regist will automatically work with the Tangle network. diff --git a/pages/developers/blueprint-macros/jobs.mdx b/pages/developers/blueprint-macros/jobs.mdx index db2de56..8fdd2ad 100644 --- a/pages/developers/blueprint-macros/jobs.mdx +++ b/pages/developers/blueprint-macros/jobs.mdx @@ -65,6 +65,8 @@ pub fn job_name(, ctx: Context) -> Result<, , ctx: Context) -> Result<, , ctx: Context) -> Result<, , ctx: Context) -> Result<, ### MPC Threshold Signature +This example demonstrates how to use the FROST signing job to sign a message using a multi-party computation (MPC) threshold signature scheme. The job requires a valid keypair generated by the keygen job. + diff --git a/pages/developers/eigenlayer-avs.mdx b/pages/developers/eigenlayer-avs.mdx index c16a163..29c4300 100644 --- a/pages/developers/eigenlayer-avs.mdx +++ b/pages/developers/eigenlayer-avs.mdx @@ -23,8 +23,8 @@ First, define the contract interface using the `sol!` and `load_abi!` macros. Th @@ -70,7 +70,7 @@ Instantiate the contract using the generated bindings: @@ -80,8 +80,8 @@ Use the `BlueprintRunner` to execute the jobs and background services: diff --git a/pages/developers/tangle-avs.mdx b/pages/developers/tangle-avs.mdx index e99d4b6..ecad6ee 100644 --- a/pages/developers/tangle-avs.mdx +++ b/pages/developers/tangle-avs.mdx @@ -56,8 +56,8 @@ This file serves as the entry point for your Actively Validated Service (AVS) no diff --git a/yarn.lock b/yarn.lock index b0f5f63..1c24163 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1111,13 +1111,6 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.3.1": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" - integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== - dependencies: - regenerator-runtime "^0.14.0" - "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": version "7.25.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" @@ -5628,13 +5621,6 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -fault@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13" - integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== - dependencies: - format "^0.2.0" - fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" @@ -5754,11 +5740,6 @@ form-fix-array@^1.0.0: resolved "https://registry.yarnpkg.com/form-fix-array/-/form-fix-array-1.0.0.tgz#a1347a47e53117ab7bcdbf3e2f3ec91c66769bc8" integrity sha512-f3qXI4CcvW7/6vqTKwCftcrFgfEBfWYPQTfvXrHYevHbJVfc107/SVvXvwUAYMaUAHdvu9ENQvLufJKphQI14w== -format@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" - integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== - formdata-polyfill@^4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" @@ -6364,16 +6345,6 @@ hey-listen@^1.0.8: resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== -highlight.js@^10.4.1, highlight.js@~10.7.0: - version "10.7.3" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" - integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== - -highlightjs-vue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/highlightjs-vue/-/highlightjs-vue-1.0.0.tgz#fdfe97fbea6354e70ee44e3a955875e114db086d" - integrity sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA== - hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -7237,14 +7208,6 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" -lowlight@^1.17.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888" - integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw== - dependencies: - fault "^1.0.0" - highlight.js "~10.7.0" - lru-cache@4.1.x, lru-cache@^4.0.1: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -8647,11 +8610,6 @@ next-mdx-remote@^4.2.1: vfile "^5.3.0" vfile-matter "^3.0.1" -next-plausible@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/next-plausible/-/next-plausible-3.12.0.tgz#b54f344c63bd1bb743ce6ef4e54b39446b0f3840" - integrity sha512-SSkEqKQ6PgR8fx3sYfIAT69k2xuCUXO5ngkSS19CjxY97lAoZxsfZpYednxB4zo0mHYv87JzhPynrdBPlCBVHg== - next-seo@^6.0.0: version "6.5.0" resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-6.5.0.tgz#5ccfbcfaced9d296499aa88f074b9e82e252a9c8" @@ -9337,16 +9295,6 @@ prettier@3.2.5: resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== -prismjs@^1.27.0: - version "1.29.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== - -prismjs@~1.27.0: - version "1.27.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" - integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -9542,18 +9490,6 @@ react-style-singleton@^2.2.1: invariant "^2.2.4" tslib "^2.0.0" -react-syntax-highlighter@^15.6.1: - version "15.6.1" - resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-15.6.1.tgz#fa567cb0a9f96be7bbccf2c13a3c4b5657d9543e" - integrity sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg== - dependencies: - "@babel/runtime" "^7.3.1" - highlight.js "^10.4.1" - highlightjs-vue "^1.0.0" - lowlight "^1.17.0" - prismjs "^1.27.0" - refractor "^3.6.0" - react-transition-group@^4.4.5: version "4.4.5" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" @@ -9699,15 +9635,6 @@ reflect.getprototypeof@^1.0.4: globalthis "^1.0.3" which-builtin-type "^1.1.3" -refractor@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.6.0.tgz#ac318f5a0715ead790fcfb0c71f4dd83d977935a" - integrity sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA== - dependencies: - hastscript "^6.0.0" - parse-entities "^2.0.0" - prismjs "~1.27.0" - regenerate-unicode-properties@^10.1.0: version "10.1.1" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480"