From b218be8f071f8793f8646301e177df9dae574d65 Mon Sep 17 00:00:00 2001 From: Naiem Date: Tue, 11 Aug 2026 17:31:44 +0000 Subject: [PATCH 1/2] Point wallet plugin at testnet PoD v2.4 remount addresses. Sync inbox, price oracles, factories, portals, and pTokens from deployConfig.testnet.yaml for Sepolia, Fuji, and COTI. Co-authored-by: Cursor --- src/chains/avalancheFuji.ts | 20 ++++++++++---------- src/chains/coti.ts | 2 +- src/chains/podInbox.ts | 2 +- src/chains/sepolia.ts | 20 ++++++++++---------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/chains/avalancheFuji.ts b/src/chains/avalancheFuji.ts index 56cdc0f..909be27 100644 --- a/src/chains/avalancheFuji.ts +++ b/src/chains/avalancheFuji.ts @@ -18,18 +18,18 @@ const AVALANCHE_FUJI_RPC_FALLBACK_URLS = [ ]; /** Underlying ERC-20s from PrivacyPortalConfig.json (Avalanche Fuji). */ -const MTT = "0x328e70e1c52662cd5f19f824fcb8b463d77a6686"; +const MTT = "0x0fd36eae65230037760054d25ec4617156950a53"; const USDC = "0x5425890298aed601595a70AB815c96711a31Bc65"; const WAVAX = "0xd00ae08403B9bbb9124bB305C09058E32C39A48c"; -/** Deployed PoD portal pairs from pod-ecosystem-integration deployConfig.json (Fuji). */ -const P_AVAX = "0x74d47cD68203066c97BA99787Fe1e0c68Ce42b04"; -const P_USDC = "0x21576D8CCE47d044C5815bd59eca1F6DA94c65A5"; -const P_MTT = "0x02f284a1968160E1d3e4bC2BA3261be49725E765"; -const PORTAL_AVAX = "0xe6932f6Ab846bf389f7ef355dd5830594623B8E5"; -const PORTAL_USDC = "0xE75373ADb4AD1A5634a10f4644822943830b18c5"; -const PORTAL_MTT = "0x758a8F9a216A95773DDf6F73004B85d59f224518"; -const PRIVACY_PORTAL_FACTORY = "0xaf9327277cb370d536d2c8a9e15a0a7ff6c42c15"; +/** Deployed PoD portal pairs from pod-ecosystem-integration deployConfig.testnet.yaml (Fuji). */ +const P_AVAX = "0x5b904faF2C7458a59D5d48E255d48A0eD6cEf539"; +const P_USDC = "0xEfD3A5121F1dBA2431F3cEfa4f0d66B43444449D"; +const P_MTT = "0x68A984197345eea57ED33dB37D6Ec6f0F0922747"; +const PORTAL_AVAX = "0xE181b3B2D76C8936B42089b250902407C32EC59e"; +const PORTAL_USDC = "0x6af371e686635aC517AA35E9560CFB8aBdD8475c"; +const PORTAL_MTT = "0xFFef82eff8643110c7eCf2627EF73d050f395D7C"; +const PRIVACY_PORTAL_FACTORY = "0xe6401d65fae91e2160d230c1e76176bb900c5466"; export const avalancheFujiChain: ChainConfig = { id: AVALANCHE_FUJI_CHAIN_ID, @@ -38,7 +38,7 @@ export const avalancheFujiChain: ChainConfig = { rpcUrl: AVALANCHE_FUJI_RPC_URL, rpcFallbackUrls: AVALANCHE_FUJI_RPC_FALLBACK_URLS, explorerBaseUrl: "https://testnet.snowscan.xyz", - priceOracleAddress: "0x95ce33378c88734f3d86b51a4c6dc588722995fd", + priceOracleAddress: "0xcc077e4211d58efe944d95f10ae0a6b6b84f5daf", unlockStrategy: "manual-aes-key", portalStrategy: "pod-privacy-portal", podFeeEstimation: { diff --git a/src/chains/coti.ts b/src/chains/coti.ts index 5c5f65b..ccfc159 100644 --- a/src/chains/coti.ts +++ b/src/chains/coti.ts @@ -31,7 +31,7 @@ export const cotiTestnetChain: ChainConfig = { unlockStrategy: "snap", portalStrategy: "coti-bridge", // PoD price oracle from pod-ecosystem-integration deployConfig.json (COTI testnet). - priceOracleAddress: "0xb471e172876ba9bb24a43528779ea31e0b0bda2f", + priceOracleAddress: "0xdaf896430649ca720b58747a83a2476945f81c2a", addresses: { PrivateCoti: "0xF3FC0A3285a6C297682390b1Db76c3AF130FEb93", PrivacyBridgeCotiNative: "0xabB1FC50ebD491c74CE7dfE3bD350bce10f89F2E", diff --git a/src/chains/podInbox.ts b/src/chains/podInbox.ts index 8fe0eda..1653845 100644 --- a/src/chains/podInbox.ts +++ b/src/chains/podInbox.ts @@ -3,7 +3,7 @@ * Single source of truth for {@link getPodSdkConfig}, {@link getPodInboxAddress}, and * {@link PodContract} fee estimation via `@coti-io/pod-sdk`. */ -export const POD_INBOX_ADDRESS = "0x3b8B70819f27e0438cBcE7f31894f799da52648F"; +export const POD_INBOX_ADDRESS = "0xB1D0D8fBfcafd16bfDc467D75B7e5fB1723B8069"; /** * Default callback payload size (bytes) for inbox `estimateFee` when a chain config diff --git a/src/chains/sepolia.ts b/src/chains/sepolia.ts index 65c60c3..d5e0b6a 100644 --- a/src/chains/sepolia.ts +++ b/src/chains/sepolia.ts @@ -9,16 +9,16 @@ const SEPOLIA_RPC_FALLBACK_URL = "https://ethereum-sepolia-rpc.publicnode.com"; /** Underlying ERC-20s from PrivacyPortalConfig.json (Sepolia). */ const WETH = "0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9"; const USDC = "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238"; -const MTT = "0xd3f5c63f4D87D2235b295FbA83351d31d0eD1BeE"; +const MTT = "0xc75e882a09fb8f0939b0fa2d311fbd28ce6f9676"; -/** Deployed PoD portal pairs from pod-ecosystem-integration deployConfig.json (Sepolia). */ -const P_ETH = "0xd33A363459c6Ee0C4F8504E380E8D3Aa4F209116"; -const P_USDC = "0xD7B3D49F85000489708B7db5B0f1a8693Fc707f3"; -const P_MTT = "0x0510F0b32828D5fB472dE5A5bE30b370c5D1a056"; -const PORTAL_ETH = "0x2C8B9bBeC8604143863c90D02FdF626a7D5a51C5"; -const PORTAL_USDC = "0x0D02bD729698630c6f9776cDE1C8e5E00146202e"; -const PORTAL_MTT = "0x7e1fecDBC7393A7165Ae7f5F1c56baA4D12c6fc0"; -const PRIVACY_PORTAL_FACTORY = "0x11a27bdf2b2c251609d78d5c9b53b3c2d71d663c"; +/** Deployed PoD portal pairs from pod-ecosystem-integration deployConfig.testnet.yaml (Sepolia). */ +const P_ETH = "0xdB736B018B8AAE50Bc8E1239e469aD333f442e87"; +const P_USDC = "0x37333FF565bcD420F99aDd4D343dd2324c8dB2d1"; +const P_MTT = "0x03224b20Ee0AAfD6D886E61eE73719910ffFe4B5"; +const PORTAL_ETH = "0xaDDd6983d9C60E649edDcF3F5e99E2c128b32a73"; +const PORTAL_USDC = "0x910Eabe80B431eB16D5a08600c64ab7828E5C111"; +const PORTAL_MTT = "0x479b790D8240b239130ff5FB32dCD43697c8731D"; +const PRIVACY_PORTAL_FACTORY = "0x8bccf0c461b51126d117ab570c35f1ecc0025c86"; export const sepoliaChain: ChainConfig = { id: SEPOLIA_CHAIN_ID, @@ -39,7 +39,7 @@ export const sepoliaChain: ChainConfig = { forwardDataSize: 512n, }, }, - priceOracleAddress: "0x71f0deac8adb89b7f1b09b38e2531e06bcca0b03", + priceOracleAddress: "0x313dadd6ae1a582cfeacc04a316c203cbea13371", addresses: { MTT, WETH, From 9cbea7ca732a485df4848f655ff96ba9628d9a3a Mon Sep 17 00:00:00 2001 From: Naiem Date: Wed, 12 Aug 2026 11:25:47 +0000 Subject: [PATCH 2/2] Point MTT/p.MTT/PrivacyPortalMTT at faucet MTT and new portals. Reuse the old faucet underlyings and wire Sepolia/Fuji to the redeployed p.MTT portal pairs. Co-authored-by: Cursor --- src/chains/avalancheFuji.ts | 6 +++--- src/chains/sepolia.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/chains/avalancheFuji.ts b/src/chains/avalancheFuji.ts index 909be27..369b609 100644 --- a/src/chains/avalancheFuji.ts +++ b/src/chains/avalancheFuji.ts @@ -18,17 +18,17 @@ const AVALANCHE_FUJI_RPC_FALLBACK_URLS = [ ]; /** Underlying ERC-20s from PrivacyPortalConfig.json (Avalanche Fuji). */ -const MTT = "0x0fd36eae65230037760054d25ec4617156950a53"; +const MTT = "0x328e70e1c52662cd5f19f824fcb8b463d77a6686"; const USDC = "0x5425890298aed601595a70AB815c96711a31Bc65"; const WAVAX = "0xd00ae08403B9bbb9124bB305C09058E32C39A48c"; /** Deployed PoD portal pairs from pod-ecosystem-integration deployConfig.testnet.yaml (Fuji). */ const P_AVAX = "0x5b904faF2C7458a59D5d48E255d48A0eD6cEf539"; const P_USDC = "0xEfD3A5121F1dBA2431F3cEfa4f0d66B43444449D"; -const P_MTT = "0x68A984197345eea57ED33dB37D6Ec6f0F0922747"; +const P_MTT = "0x841b2209f12cEb3778cFE31cE0a9048A426FAdCC"; const PORTAL_AVAX = "0xE181b3B2D76C8936B42089b250902407C32EC59e"; const PORTAL_USDC = "0x6af371e686635aC517AA35E9560CFB8aBdD8475c"; -const PORTAL_MTT = "0xFFef82eff8643110c7eCf2627EF73d050f395D7C"; +const PORTAL_MTT = "0x745169A80Af0DaD92F9898ddCfA0Df56C91eEf88"; const PRIVACY_PORTAL_FACTORY = "0xe6401d65fae91e2160d230c1e76176bb900c5466"; export const avalancheFujiChain: ChainConfig = { diff --git a/src/chains/sepolia.ts b/src/chains/sepolia.ts index d5e0b6a..8c8f100 100644 --- a/src/chains/sepolia.ts +++ b/src/chains/sepolia.ts @@ -9,15 +9,15 @@ const SEPOLIA_RPC_FALLBACK_URL = "https://ethereum-sepolia-rpc.publicnode.com"; /** Underlying ERC-20s from PrivacyPortalConfig.json (Sepolia). */ const WETH = "0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9"; const USDC = "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238"; -const MTT = "0xc75e882a09fb8f0939b0fa2d311fbd28ce6f9676"; +const MTT = "0xd3f5c63f4D87D2235b295FbA83351d31d0eD1BeE"; /** Deployed PoD portal pairs from pod-ecosystem-integration deployConfig.testnet.yaml (Sepolia). */ const P_ETH = "0xdB736B018B8AAE50Bc8E1239e469aD333f442e87"; const P_USDC = "0x37333FF565bcD420F99aDd4D343dd2324c8dB2d1"; -const P_MTT = "0x03224b20Ee0AAfD6D886E61eE73719910ffFe4B5"; +const P_MTT = "0x1D49e843E8E2F66beC3733Ae38b9879e6ece268B"; const PORTAL_ETH = "0xaDDd6983d9C60E649edDcF3F5e99E2c128b32a73"; const PORTAL_USDC = "0x910Eabe80B431eB16D5a08600c64ab7828E5C111"; -const PORTAL_MTT = "0x479b790D8240b239130ff5FB32dCD43697c8731D"; +const PORTAL_MTT = "0x181790940173eE3792B5fbC8e5EC4De9899856Dc"; const PRIVACY_PORTAL_FACTORY = "0x8bccf0c461b51126d117ab570c35f1ecc0025c86"; export const sepoliaChain: ChainConfig = {