@@ -6,6 +6,7 @@ export type DocsRouteContract = {
66export const canonicalDevelopersOrigin = 'https://tempo.xyz/developers'
77
88export function docsRouteDestination ( destination : string , environment = process . env . VERCEL_ENV ) {
9+ if ( URL . canParse ( destination ) ) return destination
910 if ( environment === 'production' ) return `${ canonicalDevelopersOrigin } ${ destination } `
1011 return destination
1112}
@@ -20,6 +21,81 @@ export const proxiedLegacyDocsRoutes = [
2021 { source : '/docs/developer-tools/indexer' , destination : '/docs/api/indexer-api' } ,
2122 { source : '/docs/hosted-services' , destination : '/docs/api' } ,
2223 { source : '/docs/hosted-services/:path*' , destination : '/docs/api' } ,
24+ {
25+ source : '/docs/guide/use-accounts/add-funds' ,
26+ destination : '/docs/guide/getting-funds' ,
27+ } ,
28+ {
29+ source : '/docs/guide/use-accounts/authorize-access-keys' ,
30+ destination : '/docs/guide/tempo-transaction#access-keys' ,
31+ } ,
32+ {
33+ source : '/docs/guide/use-accounts/batch-transactions' ,
34+ destination : '/docs/guide/tempo-transaction#batch-calls' ,
35+ } ,
36+ {
37+ source : '/docs/guide/use-accounts/fee-sponsorship' ,
38+ destination : '/docs/guide/payments/sponsor-user-fees' ,
39+ } ,
40+ {
41+ source : '/docs/guide/use-accounts/scheduled-transactions' ,
42+ destination : '/docs/guide/tempo-transaction#scheduled-transactions' ,
43+ } ,
44+ {
45+ source : '/docs/guide/use-accounts/webauthn-p256-signatures' ,
46+ destination : '/docs/protocol/transactions/spec-tempo-transaction#signature-types' ,
47+ } ,
48+ { source : '/docs/sdk/typescript/server' , destination : '/docs/server' } ,
49+ { source : '/docs/sdk/typescript/server/handlers' , destination : '/docs/server' } ,
50+ {
51+ source : '/docs/sdk/typescript/server/handler.feePayer' ,
52+ destination : '/docs/server/relay-handler#feepayer' ,
53+ } ,
54+ { source : '/accounts/server' , destination : '/docs/server' } ,
55+ {
56+ source : '/accounts/server/handler.feePayer' ,
57+ destination : '/docs/server/relay-handler#feepayer' ,
58+ } ,
59+ {
60+ source : '/accounts/server/handler.relay' ,
61+ destination : '/docs/server/relay-handler' ,
62+ } ,
63+ {
64+ source : '/learn/tempo/receive-policies' ,
65+ destination : '/docs/guide/payments/configure-receive-policies' ,
66+ } ,
67+ {
68+ source : '/learn/use-cases/agentic-commerce' ,
69+ destination : 'https://tempo.xyz/learn/blockchain-payments/' ,
70+ } ,
71+ {
72+ source : '/learn/use-cases/embedded-finance' ,
73+ destination : 'https://tempo.xyz/learn/stablecoin-payments/' ,
74+ } ,
75+ {
76+ source : '/learn/use-cases/global-payouts' ,
77+ destination : 'https://tempo.xyz/learn/global-payouts/' ,
78+ } ,
79+ {
80+ source : '/learn/use-cases/microtransactions' ,
81+ destination : 'https://tempo.xyz/learn/microtransactions/' ,
82+ } ,
83+ {
84+ source : '/learn/use-cases/payroll' ,
85+ destination : 'https://tempo.xyz/learn/stablecoin-payroll/' ,
86+ } ,
87+ {
88+ source : '/learn/use-cases/remittances' ,
89+ destination : 'https://tempo.xyz/learn/cross-border-payments/' ,
90+ } ,
91+ {
92+ source : '/learn/use-cases/tokenized-deposits' ,
93+ destination : 'https://tempo.xyz/learn/tokenized-deposits/' ,
94+ } ,
95+ {
96+ source : '/docs/protocol/tips/tip-1028' ,
97+ destination : 'https://tips.sh/1028' ,
98+ } ,
2399] as const satisfies readonly DocsRouteContract [ ]
24100
25101export const legacyDocsHostRoutes = [
@@ -61,6 +137,87 @@ export const legacyDocsHostRoutes = [
61137 source : '/network-upgrades' ,
62138 destination : `${ canonicalDevelopersOrigin } /docs/guide/node/network-upgrades` ,
63139 } ,
140+ {
141+ source : '/guide/use-accounts/add-funds' ,
142+ destination : `${ canonicalDevelopersOrigin } /docs/guide/getting-funds` ,
143+ } ,
144+ {
145+ source : '/guide/use-accounts/authorize-access-keys' ,
146+ destination : `${ canonicalDevelopersOrigin } /docs/guide/tempo-transaction#access-keys` ,
147+ } ,
148+ {
149+ source : '/guide/use-accounts/batch-transactions' ,
150+ destination : `${ canonicalDevelopersOrigin } /docs/guide/tempo-transaction#batch-calls` ,
151+ } ,
152+ {
153+ source : '/guide/use-accounts/fee-sponsorship' ,
154+ destination : `${ canonicalDevelopersOrigin } /docs/guide/payments/sponsor-user-fees` ,
155+ } ,
156+ {
157+ source : '/guide/use-accounts/scheduled-transactions' ,
158+ destination : `${ canonicalDevelopersOrigin } /docs/guide/tempo-transaction#scheduled-transactions` ,
159+ } ,
160+ {
161+ source : '/guide/use-accounts/webauthn-p256-signatures' ,
162+ destination : `${ canonicalDevelopersOrigin } /docs/protocol/transactions/spec-tempo-transaction#signature-types` ,
163+ } ,
164+ {
165+ source : '/sdk/typescript/server' ,
166+ destination : `${ canonicalDevelopersOrigin } /docs/server` ,
167+ } ,
168+ {
169+ source : '/sdk/typescript/server/handlers' ,
170+ destination : `${ canonicalDevelopersOrigin } /docs/server` ,
171+ } ,
172+ {
173+ source : '/sdk/typescript/server/handler.feePayer' ,
174+ destination : `${ canonicalDevelopersOrigin } /docs/server/relay-handler#feepayer` ,
175+ } ,
176+ { source : '/accounts/server' , destination : `${ canonicalDevelopersOrigin } /docs/server` } ,
177+ {
178+ source : '/accounts/server/handler.feePayer' ,
179+ destination : `${ canonicalDevelopersOrigin } /docs/server/relay-handler#feepayer` ,
180+ } ,
181+ {
182+ source : '/accounts/server/handler.relay' ,
183+ destination : `${ canonicalDevelopersOrigin } /docs/server/relay-handler` ,
184+ } ,
185+ {
186+ source : '/learn/tempo/receive-policies' ,
187+ destination : `${ canonicalDevelopersOrigin } /docs/guide/payments/configure-receive-policies` ,
188+ } ,
189+ {
190+ source : '/learn/use-cases/agentic-commerce' ,
191+ destination : 'https://tempo.xyz/learn/blockchain-payments/' ,
192+ } ,
193+ {
194+ source : '/learn/use-cases/embedded-finance' ,
195+ destination : 'https://tempo.xyz/learn/stablecoin-payments/' ,
196+ } ,
197+ {
198+ source : '/learn/use-cases/global-payouts' ,
199+ destination : 'https://tempo.xyz/learn/global-payouts/' ,
200+ } ,
201+ {
202+ source : '/learn/use-cases/microtransactions' ,
203+ destination : 'https://tempo.xyz/learn/microtransactions/' ,
204+ } ,
205+ {
206+ source : '/learn/use-cases/payroll' ,
207+ destination : 'https://tempo.xyz/learn/stablecoin-payroll/' ,
208+ } ,
209+ {
210+ source : '/learn/use-cases/remittances' ,
211+ destination : 'https://tempo.xyz/learn/cross-border-payments/' ,
212+ } ,
213+ {
214+ source : '/learn/use-cases/tokenized-deposits' ,
215+ destination : 'https://tempo.xyz/learn/tokenized-deposits/' ,
216+ } ,
217+ {
218+ source : '/protocol/tips/tip-1028' ,
219+ destination : 'https://tips.sh/1028' ,
220+ } ,
64221] as const satisfies readonly DocsRouteContract [ ]
65222
66223export const routingSmokeCases = {
@@ -73,6 +230,21 @@ export const routingSmokeCases = {
73230 expectedLocation : `${ canonicalDevelopersOrigin } /docs/api` ,
74231 expectedFinalStatus : 200 ,
75232 } ,
233+ {
234+ path : '/developers/docs/guide/use-accounts/batch-transactions' ,
235+ expectedLocation : `${ canonicalDevelopersOrigin } /docs/guide/tempo-transaction#batch-calls` ,
236+ expectedFinalStatus : 200 ,
237+ } ,
238+ {
239+ path : '/developers/accounts/server/handler.relay' ,
240+ expectedLocation : `${ canonicalDevelopersOrigin } /docs/server/relay-handler` ,
241+ expectedFinalStatus : 200 ,
242+ } ,
243+ {
244+ path : '/developers/learn/use-cases/payroll' ,
245+ expectedLocation : 'https://tempo.xyz/learn/stablecoin-payroll/' ,
246+ expectedFinalStatus : 200 ,
247+ } ,
76248 { path : '/developers/api/og' , expectedNonRedirect : true } ,
77249 ] ,
78250 legacy : [
@@ -91,5 +263,20 @@ export const routingSmokeCases = {
91263 expectedLocation : `${ canonicalDevelopersOrigin } /docs/quickstart/integrate-tempo` ,
92264 expectedFinalStatus : 200 ,
93265 } ,
266+ {
267+ path : '/guide/use-accounts/batch-transactions' ,
268+ expectedLocation : `${ canonicalDevelopersOrigin } /docs/guide/tempo-transaction#batch-calls` ,
269+ expectedFinalStatus : 200 ,
270+ } ,
271+ {
272+ path : '/accounts/server/handler.relay' ,
273+ expectedLocation : `${ canonicalDevelopersOrigin } /docs/server/relay-handler` ,
274+ expectedFinalStatus : 200 ,
275+ } ,
276+ {
277+ path : '/learn/use-cases/payroll' ,
278+ expectedLocation : 'https://tempo.xyz/learn/stablecoin-payroll/' ,
279+ expectedFinalStatus : 200 ,
280+ } ,
94281 ] ,
95282} as const
0 commit comments