mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-07-22 14:55:47 +00:00
dd58fe9164
- calculateMultisigAddress was completely broken (hex-decoded an SS58 string and never hashed the preimage) - fixed via @pezkuwi/util-crypto's real encodeMultiAddress/createKeyMulti, verified against the actual known multisig address on-chain. - ReservesDashboardPage had stale Noter/Berdevk addresses that don't match the real signers - centralized as BRIDGE_MULTISIG_SPECIFIC_ADDRESSES. - USDTBridge withdrawal called assets.burn directly as a single-signer extrinsic (always fails - only the multisig is Admin) while only checking status.isFinalized (a failed dispatch is still finalized, so it silently did nothing) - replaced with the correct transfer-to-custody flow the relayer actually watches for. - New MultisigOperationsPage (/multisig/pending) lists pending calls from real Multisig.Multisigs storage and lets any of the 5 signers approve/reject with their own wallet extension. - New standalone sign/ app (deployed separately at pezbridge-sign.pex.mom) - a dedicated, gated signing portal for the same operations, so signing isn't dependent on this app alone.
42 lines
1.6 KiB
TypeScript
42 lines
1.6 KiB
TypeScript
import { defineConfig } from 'vite';
|
|
import react from '@vitejs/plugin-react-swc';
|
|
import path from 'path';
|
|
import { nodePolyfills } from 'vite-plugin-node-polyfills';
|
|
|
|
// Deliberately minimal compared to web/vite.config.ts: this app has exactly one job (gate +
|
|
// sign multisig operations), so it carries none of web/'s SPA routing, i18n, or UI-kit
|
|
// machinery - fewer dependencies is itself a security property for a signing-critical site.
|
|
export default defineConfig(({ command }) => ({
|
|
server: {
|
|
host: '::',
|
|
port: 8090,
|
|
},
|
|
plugins: [
|
|
react(),
|
|
nodePolyfills({
|
|
globals: { Buffer: true, global: true, process: true },
|
|
protocolImports: true,
|
|
}),
|
|
],
|
|
resolve: {
|
|
mainFields: ['browser', 'module', 'main', 'exports'],
|
|
alias: {
|
|
// Rollup cannot resolve the plugin's virtual shim module in production - alias to a real
|
|
// file (mirrors web/vite.config.ts's identical workaround). Dev mode leaves the plugin's
|
|
// own virtual module handling it.
|
|
...(command === 'build'
|
|
? { 'vite-plugin-node-polyfills/shims/process': path.resolve(__dirname, './src/lib/process-shim.ts') }
|
|
: {}),
|
|
'@': path.resolve(__dirname, './src'),
|
|
'@pezkuwi/lib': path.resolve(__dirname, '../shared/lib'),
|
|
},
|
|
dedupe: ['react', '@pezkuwi/util-crypto', '@pezkuwi/util', '@pezkuwi/api', '@pezkuwi/extension-dapp', '@pezkuwi/keyring'],
|
|
},
|
|
optimizeDeps: {
|
|
include: ['@pezkuwi/util-crypto', '@pezkuwi/util', '@pezkuwi/api', '@pezkuwi/extension-dapp', '@pezkuwi/keyring', 'buffer'],
|
|
},
|
|
build: {
|
|
chunkSizeWarningLimit: 600,
|
|
},
|
|
}));
|