diff --git a/go/internal/ipfsutil/ipfsutil.go b/go/internal/ipfsutil/ipfsutil.go index 5a05273d7d..03050d5dc4 100644 --- a/go/internal/ipfsutil/ipfsutil.go +++ b/go/internal/ipfsutil/ipfsutil.go @@ -7,9 +7,11 @@ import ( // TODO: consider doing this only in front +const GatewayBase = "w3s.link" + func IPFSURIToURL(ipfsURI string) string { if !strings.HasPrefix(ipfsURI, "ipfs://") { return ipfsURI } - return fmt.Sprintf("https://cf-ipfs.com/ipfs/%s", strings.TrimPrefix(ipfsURI, "ipfs://")) + return fmt.Sprintf("https://"+GatewayBase+"/ipfs/%s", strings.TrimPrefix(ipfsURI, "ipfs://")) } diff --git a/go/pkg/p2e/seasons.go b/go/pkg/p2e/seasons.go index 6e2a6185af..ca196849b9 100644 --- a/go/pkg/p2e/seasons.go +++ b/go/pkg/p2e/seasons.go @@ -1,5 +1,7 @@ package p2e +import "github.com/TERITORI/teritori-dapp/go/internal/ipfsutil" + const THE_RIOT_GAME_ID = "riot-game" type Season struct { @@ -37,7 +39,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ ID: "Pre-Season 2", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs.cf-ipfs.com/", + BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2023-01-24T00:00:00", EndsAt: "2023-02-05T00:00:00", IsPre: true, @@ -50,7 +52,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ Decimals: 6, TotalPrize: 300_000, BossName: "Ursula Delahaye", - BossImage: "https://bafybeigidzbfvy6t2a3cjff4zc2e6kk36uml5nn6acyuxaiwyvuuq6ww3a.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeigidzbfvy6t2a3cjff4zc2e6kk36uml5nn6acyuxaiwyvuuq6ww3a.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2023-02-05T00:00:00", EndsAt: "2023-02-15T00:00:00", @@ -60,7 +62,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ ID: "Pre-Season 3", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs.cf-ipfs.com/", + BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2023-02-15T00:00:00", EndsAt: "2023-02-20T00:00:00", IsPre: true, @@ -73,7 +75,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ Decimals: 6, TotalPrize: 1_200_000, BossName: "Justin Trado", - BossImage: "https://bafybeidxomcyjsr2iach6ms5ceaj53znjrnx5xlo5qnoldbswcfwocg75i.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeidxomcyjsr2iach6ms5ceaj53znjrnx5xlo5qnoldbswcfwocg75i.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2023-02-20T00:00:00", EndsAt: "2023-03-22T00:00:00", @@ -83,7 +85,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ ID: "Pre-Season 4", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs.cf-ipfs.com/", + BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2023-03-22T00:00:00", EndsAt: "2023-03-28T00:00:00", IsPre: true, @@ -96,7 +98,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ Decimals: 6, TotalPrize: 280_000, BossName: "Ursula Delahaye", - BossImage: "https://bafybeieaacwfeglbfqp376owdsjmpolz4uvfkjeji4rr2ck4merxg4r4sa.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeieaacwfeglbfqp376owdsjmpolz4uvfkjeji4rr2ck4merxg4r4sa.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2023-03-28T00:00:00", EndsAt: "2023-04-04T00:00:00", @@ -106,7 +108,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ ID: "Pre-Season 4b", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs.cf-ipfs.com/", + BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2023-04-04T00:00:00", EndsAt: "2023-04-10T00:00:00", IsPre: true, @@ -119,7 +121,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ Decimals: 6, TotalPrize: 1_200_000, BossName: "Ursula Delahaye", - BossImage: "https://bafybeieaacwfeglbfqp376owdsjmpolz4uvfkjeji4rr2ck4merxg4r4sa.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeieaacwfeglbfqp376owdsjmpolz4uvfkjeji4rr2ck4merxg4r4sa.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2023-04-10T00:00:00", EndsAt: "2023-05-10T00:00:00", @@ -129,7 +131,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ ID: "Pre-Season 5", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs.cf-ipfs.com/", + BossImage: "https://bafkreideajx2dscsgyhnowpm4cavr5vd6pf5no6es326ziul7u2xuot3je.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2023-05-10T00:00:00", EndsAt: "2023-05-30T00:00:00", IsPre: true, @@ -142,7 +144,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ Decimals: 6, TotalPrize: 1_000_000, BossName: "Big George", - BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2023-05-30T00:00:00", EndsAt: "2023-06-29T00:00:00", @@ -152,7 +154,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ ID: "Pre-Season 6", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2023-06-29T00:00:00", EndsAt: "2023-08-09T00:00:00", IsPre: true, @@ -165,7 +167,7 @@ var THE_RIOT_COSMOS_SEASONS = []Season{ Decimals: 6, TotalPrize: 1_000_000, BossName: "Didier Schmidt", - BossImage: "https://bafybeib76uipog5hwot3lo5nrtrzrna2x3irtkiozmbmp6bazvaomwfa7e.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeib76uipog5hwot3lo5nrtrzrna2x3irtkiozmbmp6bazvaomwfa7e.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2023-08-09T00:00:00", EndsAt: "2023-09-08T00:00:00", @@ -191,7 +193,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ Decimals: 6, TotalPrize: 1, BossName: "Tori Pup", - BossImage: "https://bafkreidzf2kol7hi3lae33fpu6iryfw7mgbp5fbqnyewq64kagykc266h4.ipfs.cf-ipfs.com/", + BossImage: "https://bafkreidzf2kol7hi3lae33fpu6iryfw7mgbp5fbqnyewq64kagykc266h4.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2023-12-01T00:00:00", EndsAt: "2024-02-07T00:00:00", @@ -204,7 +206,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ Decimals: 6, TotalPrize: 1, BossName: "Tori Pup", - BossImage: "https://bafkreidzf2kol7hi3lae33fpu6iryfw7mgbp5fbqnyewq64kagykc266h4.ipfs.cf-ipfs.com/", + BossImage: "https://bafkreidzf2kol7hi3lae33fpu6iryfw7mgbp5fbqnyewq64kagykc266h4.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2024-02-07T00:00:00", EndsAt: "2024-02-11T00:00:00", @@ -217,7 +219,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ Decimals: 6, TotalPrize: 1, BossName: "Tori Pup", - BossImage: "https://bafkreidzf2kol7hi3lae33fpu6iryfw7mgbp5fbqnyewq64kagykc266h4.ipfs.cf-ipfs.com/", + BossImage: "https://bafkreidzf2kol7hi3lae33fpu6iryfw7mgbp5fbqnyewq64kagykc266h4.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2024-02-11T00:00:00", EndsAt: "2024-02-20T00:00:00", @@ -227,7 +229,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ ID: "Pre-Official season 1", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2024-02-20T00:00:00", EndsAt: "2024-03-05T00:00:00", IsPre: true, @@ -240,7 +242,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ Decimals: 6, TotalPrize: 1_000_000, BossName: "Dr. Murphy", - BossImage: "https://bafybeidh7eq25gobfdikufdiehuki6tmdtyai3ccs2x2htavlqkj5lx4si.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeidh7eq25gobfdikufdiehuki6tmdtyai3ccs2x2htavlqkj5lx4si.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2024-03-05T00:00:00", EndsAt: "2024-04-12T00:00:00", @@ -250,7 +252,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ ID: "Pre-Official season 2", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2024-04-12T00:00:00", EndsAt: "2024-06-05T00:00:00", IsPre: true, @@ -263,7 +265,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ Decimals: 6, TotalPrize: 1_200_000, BossName: "Mr. Jones", - BossImage: "https://bafybeidmr5xascx6pt67qkkarzicpfw7s4pluudbr7a4ekzvcax7g7dawi.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeidmr5xascx6pt67qkkarzicpfw7s4pluudbr7a4ekzvcax7g7dawi.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2024-06-05T00:00:00", EndsAt: "2024-06-11T00:00:00", @@ -273,7 +275,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ ID: "Season 2 - Pre", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2024-06-11T00:00:00", EndsAt: "2024-07-01T00:00:00", IsPre: true, @@ -286,7 +288,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ Decimals: 6, TotalPrize: 1_000, BossName: "PepeTest", - BossImage: "https://bafkreihruz6slyifkknubjr7t3xa555cbc3m3xr7jkapcvlpr2566cywqu.ipfs.cf-ipfs.com/", + BossImage: "https://bafkreihruz6slyifkknubjr7t3xa555cbc3m3xr7jkapcvlpr2566cywqu.ipfs." + ipfsutil.GatewayBase + "/", TopN: 500, StartsAt: "2024-07-01T00:00:00", EndsAt: "2024-07-04T00:00:00", @@ -296,7 +298,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ ID: "Season After PepeTest", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2024-07-04T00:00:00", EndsAt: "2024-07-11T00:00:00", IsPre: true, @@ -320,7 +322,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ ID: "Season After PepeTest 2", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2024-07-15T00:00:00", EndsAt: "2024-08-27T00:00:00", IsPre: true, @@ -344,7 +346,7 @@ var THE_RIOT_ETHEREUM_SEASONS = []Season{ ID: "Season After ETH Season 1", GameID: THE_RIOT_GAME_ID, BossName: `== $*=|'¤?")à-£_%`, - BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs.cf-ipfs.com/", + BossImage: "https://bafybeiacz7z2kqoskbtixovgzzdwiuhpfc7z4tac37qpxhjxyyljbp7v6i.ipfs." + ipfsutil.GatewayBase + "/", StartsAt: "2024-10-06T00:00:00", EndsAt: "2030-01-01T00:00:00", IsPre: true, diff --git a/packages/screens/RiotGame/RiotGameEnrollScreen.tsx b/packages/screens/RiotGame/RiotGameEnrollScreen.tsx index f10c954cca..9c1bacb4d9 100644 --- a/packages/screens/RiotGame/RiotGameEnrollScreen.tsx +++ b/packages/screens/RiotGame/RiotGameEnrollScreen.tsx @@ -42,6 +42,7 @@ import { squadStake, squadWithdrawSeason1, } from "@/utils/game"; +import { web3ToWeb2URI } from "@/utils/ipfs"; import { neutral00, neutral33, @@ -58,8 +59,9 @@ import { import { layout } from "@/utils/style/layout"; const RIPPER_SLOTS = [0, 1, 2, 3, 4, 5]; -const EMBEDDED_VIDEO_URI = - "https://bafybeihfkmpunve47w4avfnuv3mfnsgoqclahpx54zj4b2ypve52iqmxsa.ipfs.cf-ipfs.com/"; +const EMBEDDED_VIDEO_URI = web3ToWeb2URI( + "ipfs://bafybeihfkmpunve47w4avfnuv3mfnsgoqclahpx54zj4b2ypve52iqmxsa", +); const embeddedVideoHeight = 267; const embeddedVideoWidth = 468; diff --git a/packages/screens/RiotGame/RiotGameFightScreen.tsx b/packages/screens/RiotGame/RiotGameFightScreen.tsx index 1c5697d4b6..c60c55f17f 100644 --- a/packages/screens/RiotGame/RiotGameFightScreen.tsx +++ b/packages/screens/RiotGame/RiotGameFightScreen.tsx @@ -13,12 +13,14 @@ import { useAppNavigation } from "@/hooks/navigation/useAppNavigation"; import { useSquadStakingConfig } from "@/hooks/riotGame/useSquadStakingConfig"; import { useSquadStakingSquads } from "@/hooks/riotGame/useSquadStakingSquads"; import { useSelectedNetworkId } from "@/hooks/useSelectedNetwork"; +import { web3ToWeb2URI } from "@/utils/ipfs"; import { yellowDefault } from "@/utils/style/colors"; import { layout } from "@/utils/style/layout"; import { SquadInfo } from "@/utils/types/riot-p2e"; -const FIGHT_BG_URI = - "https://bafybeigv6eunkzlb4a7je6c5ezrcxgr2bv2guuwogin6mbsmdl2i6mgvwq.ipfs.cf-ipfs.com/"; +const FIGHT_BG_URI = web3ToWeb2URI( + "ipfs://bafybeigv6eunkzlb4a7je6c5ezrcxgr2bv2guuwogin6mbsmdl2i6mgvwq", +); export const RiotGameFightScreen = () => { const navigation = useAppNavigation(); diff --git a/packages/screens/RiotGame/RiotGameMemoriesScreen.tsx b/packages/screens/RiotGame/RiotGameMemoriesScreen.tsx index 402a0da7b2..d2a7e90626 100644 --- a/packages/screens/RiotGame/RiotGameMemoriesScreen.tsx +++ b/packages/screens/RiotGame/RiotGameMemoriesScreen.tsx @@ -17,6 +17,7 @@ import { EmbeddedWeb } from "@/components/EmbeddedWeb"; import { LegacyTertiaryBox } from "@/components/boxes/LegacyTertiaryBox"; import { SpacerColumn } from "@/components/spacer"; import { useIsMobile } from "@/hooks/useIsMobile"; +import { web3ToWeb2URI } from "@/utils/ipfs"; import { fontMedium32 } from "@/utils/style/fonts"; import { layout } from "@/utils/style/layout"; @@ -26,8 +27,9 @@ const seasonVideoUri = //TODO: Type and fetch this dynamically const episodes = [ { - videoUri: - "https://bafybeieid23jjpzug42y6u5au2noc6hpyayqd56udgvh7pfd45jeksykoe.ipfs.cf-ipfs.com/", + videoUri: web3ToWeb2URI( + "ipfs://bafybeieid23jjpzug42y6u5au2noc6hpyayqd56udgvh7pfd45jeksykoe", + ), }, { videoUri: "" }, { videoUri: "" }, diff --git a/packages/scripts/cloneCollection.ts b/packages/scripts/cloneCollection.ts index 65b60f071b..7fb926c3a1 100644 --- a/packages/scripts/cloneCollection.ts +++ b/packages/scripts/cloneCollection.ts @@ -11,6 +11,8 @@ import { parseCollectionId, } from "../networks"; +import { web3ToWeb2URI } from "@/utils/ipfs"; + const main = async () => { program.argument(""); program.parse(); @@ -37,12 +39,7 @@ const main = async () => { const dir = collectionId + ".d"; fs.mkdirSync(dir, { recursive: true }); - const [finalCIDString, ...pathRest] = collectionMetadataURI - .substring("ipfs://".length) - .split("/"); - const web2URI = `https://${finalCIDString}.ipfs.cf-ipfs.com/${pathRest.join( - "/", - )}`; + const web2URI = web3ToWeb2URI(collectionMetadataURI); const data = { ...nftContractInfo, ...bunkerConfig,