Skip to content

Commit ea5f813

Browse files
committed
update escrow params + bundler params
1 parent 435176f commit ea5f813

File tree

1 file changed

+52
-20
lines changed
  • apps/web/src/modules/create-proposal/components/TransactionForm/Escrow

1 file changed

+52
-20
lines changed

apps/web/src/modules/create-proposal/components/TransactionForm/Escrow/EscrowUtils.ts

+52-20
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
import { decode, encode } from 'bs58'
2-
import { Address, Hex, encodeAbiParameters } from 'viem'
2+
import { Address, Hex, encodeAbiParameters, toBytes, toHex } from 'viem'
33
import { create } from 'zustand'
44
import { createJSONStorage, persist } from 'zustand/middleware'
55

6+
import { CHAIN_ID } from 'src/typings'
7+
68
import { EscrowFormState, EscrowFormValues } from './EscrowForm.schema'
79

8-
const KLEROS_ARBITRATION_PROVIDER =
10+
const ESCROW_KLEROS_ARBITRATION_PROVIDER =
911
'0x18542245cA523DFF96AF766047fE9423E0BED3C0' as Address
12+
const ESCROW_RESOLVER_TYPE = 0
13+
const ESCROW_REQUIRE_VERIFICATION = true
14+
const ESCROW_TYPE = toHex(toBytes('updatable', { size: 32 }))
1015

1116
export function convertIpfsCidV0ToByte32(cid: string) {
1217
return `0x${Buffer.from(decode(cid).slice(2)).toString('hex')}`
@@ -23,13 +28,21 @@ export function convertByte32ToIpfsCidV0(str: Hex) {
2328
function getWrappedTokenAddress(chainId: number | string): Address {
2429
chainId = Number(chainId)
2530
switch (chainId) {
26-
case 1: // mainnet
31+
case CHAIN_ID.ETHEREUM:
2732
return '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' as Address
28-
case 10: // optimism
33+
case CHAIN_ID.OPTIMISM:
34+
return '0x4200000000000000000000000000000000000006' as Address
35+
case CHAIN_ID.BASE:
36+
return '0x4200000000000000000000000000000000000006' as Address
37+
case CHAIN_ID.ZORA:
2938
return '0x4200000000000000000000000000000000000006' as Address
30-
case 11155111: // sepolia
39+
case CHAIN_ID.SEPOLIA:
3140
return '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14' as Address
32-
case 8453: // base
41+
case CHAIN_ID.OPTIMISM_SEPOLIA:
42+
return '0x4200000000000000000000000000000000000006' as Address
43+
case CHAIN_ID.BASE_SEPOLIA:
44+
return '0x4200000000000000000000000000000000000006' as Address
45+
case CHAIN_ID.ZORA_SEPOLIA:
3346
return '0x4200000000000000000000000000000000000006' as Address
3447
default:
3548
throw new Error(`Unsupported chain ID: ${chainId}`)
@@ -39,15 +52,22 @@ function getWrappedTokenAddress(chainId: number | string): Address {
3952
function getEscrowBundler(chainId: number | string): Address {
4053
chainId = Number(chainId)
4154
switch (chainId) {
42-
// @notice: update these when deployed
43-
// case 1: // mainnet
44-
// return '0xe0D0d4927Af5cEed02146e3905bA016301194D43' as Address
45-
// case 10: // optimism
46-
// return '0xe0D0d4927Af5cEed02146e3905bA016301194D43' as Address
47-
case 11155111: // sepolia
48-
return '0x8F9999B2d5C8DC0Eea10753E76c225843ffFc4b3' as Address
49-
// case 8453: // base
50-
// return '0xe0D0d4927Af5cEed02146e3905bA016301194D43' as Address
55+
case CHAIN_ID.ETHEREUM:
56+
return '0xb4cdef4aa610c046864467592fae456a58d3443a' as Address
57+
case CHAIN_ID.OPTIMISM:
58+
return '0xdafeb89f713e25a02e4ec21a18e3757d7a76d19e' as Address
59+
case CHAIN_ID.BASE:
60+
return '0xf4640751e7363a0572d4ba93a9b049b956b33c17' as Address
61+
case CHAIN_ID.ZORA:
62+
return '0x0325e1b676c4cf59e0b690a05e0181be862193d4' as Address
63+
case CHAIN_ID.SEPOLIA:
64+
return '0x9c1E057B37605B7f6ed6f4c8E2826C3d84ddC08D' as Address
65+
case CHAIN_ID.OPTIMISM_SEPOLIA:
66+
return '0xe0986c3bdab537fbeb7c94d0c5ef961d6d8bf63a' as Address
67+
case CHAIN_ID.BASE_SEPOLIA:
68+
return '0x3add1d027116a5406ced10411945cf2d4d9ed68e' as Address
69+
case CHAIN_ID.ZORA_SEPOLIA:
70+
return '0x851e59a39571e599954702f0e4996bf838d9c863' as Address
5171
default:
5272
throw new Error(`Unsupported chain ID: ${chainId}`)
5373
}
@@ -64,17 +84,29 @@ function createEscrowData(
6484

6585
// encode abi parameters to create escrowData
6686
const encodedParams = encodeAbiParameters(
67-
['address', 'address', 'address', 'uint256', 'bytes32', 'address', 'address'].map(
68-
(type) => ({ type })
69-
),
87+
[
88+
'address',
89+
'address',
90+
'uint8',
91+
'address',
92+
'uint256',
93+
'bytes32',
94+
'address',
95+
'address',
96+
'bool',
97+
'bytes32',
98+
].map((type) => ({ type })),
7099
[
71100
values.clientAddress,
72-
KLEROS_ARBITRATION_PROVIDER,
101+
ESCROW_KLEROS_ARBITRATION_PROVIDER,
102+
ESCROW_RESOLVER_TYPE,
73103
warappedTokenAddress,
74104
terminationTime,
75105
ipfsBytesCid,
76106
values.recipientAddress,
77107
values.recipientAddress,
108+
ESCROW_REQUIRE_VERIFICATION,
109+
ESCROW_TYPE,
78110
]
79111
)
80112

@@ -151,7 +183,7 @@ const useEscrowFormStore = create(
151183
export {
152184
createEscrowData,
153185
getEscrowBundler,
154-
KLEROS_ARBITRATION_PROVIDER,
186+
ESCROW_KLEROS_ARBITRATION_PROVIDER,
155187
deployEscrowAbi,
156188
useEscrowFormStore,
157189
}

0 commit comments

Comments
 (0)