@prb/effect-evm-safe 1.0.0-beta.3 → 1.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/addresses.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/addresses.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAkHpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAMxE;AAOD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAM/E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { abstract, arbitrum, avalanche, base, baseSepolia, berachain, blast, bsc, gnosis, lightlinkPhoenix, linea, mainnet, mode, monad, morph, optimism, polygon, scroll, sei, sepolia, sonic, unichainSepolia, xdc, zksync, } from "viem/chains";
|
|
2
|
-
const
|
|
1
|
+
import { abstract, arbitrum, avalanche, base, baseSepolia, berachain, blast, bsc, gnosis, hyperEvm, lightlinkPhoenix, linea, mainnet, mode, monad, morph, optimism, polygon, scroll, sei, sepolia, sonic, unichainSepolia, xdc, zksync, } from "viem/chains";
|
|
2
|
+
const DENERGY_CHAIN_ID = 369_369;
|
|
3
|
+
const SUPPORTED_CHAIN_IDS = new Set([
|
|
3
4
|
abstract.id,
|
|
4
5
|
arbitrum.id,
|
|
5
6
|
avalanche.id,
|
|
@@ -8,7 +9,9 @@ const MULTI_SEND_CHAIN_IDS = [
|
|
|
8
9
|
berachain.id,
|
|
9
10
|
blast.id,
|
|
10
11
|
bsc.id,
|
|
12
|
+
DENERGY_CHAIN_ID,
|
|
11
13
|
gnosis.id,
|
|
14
|
+
hyperEvm.id,
|
|
12
15
|
lightlinkPhoenix.id,
|
|
13
16
|
linea.id,
|
|
14
17
|
mainnet.id,
|
|
@@ -24,33 +27,41 @@ const MULTI_SEND_CHAIN_IDS = [
|
|
|
24
27
|
unichainSepolia.id,
|
|
25
28
|
xdc.id,
|
|
26
29
|
zksync.id,
|
|
27
|
-
];
|
|
28
|
-
const ZK_ROLLUP_CHAIN_IDS = [abstract.id, zksync.id];
|
|
29
|
-
const CUSTOM_DEPLOYMENT_CHAIN_IDS = [lightlinkPhoenix.id, xdc.id];
|
|
30
|
+
]);
|
|
30
31
|
const CANONICAL_MULTI_SEND_ADDRESS = "0x9641d764fc13c8B624c04430C7356C1C7C8102e2";
|
|
31
32
|
const CANONICAL_SIMULATE_ACCESSOR_ADDRESS = "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199";
|
|
33
|
+
const CUSTOM_DEPLOYMENTS = {
|
|
34
|
+
[abstract.id]: {
|
|
35
|
+
multiSend: "0xf220D3b4DFb23C4ade8C88E526C1353AbAcbC38F",
|
|
36
|
+
simulate: "0x4191E2e12E8BC5002424CE0c51f9947b02675a44",
|
|
37
|
+
},
|
|
38
|
+
[zksync.id]: {
|
|
39
|
+
multiSend: "0xf220D3b4DFb23C4ade8C88E526C1353AbAcbC38F",
|
|
40
|
+
simulate: "0x4191E2e12E8BC5002424CE0c51f9947b02675a44",
|
|
41
|
+
},
|
|
42
|
+
[DENERGY_CHAIN_ID]: {
|
|
43
|
+
multiSend: "0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526",
|
|
44
|
+
simulate: "0x3d4BA2E0884aa488718476ca2FB8Efc291A46199",
|
|
45
|
+
},
|
|
46
|
+
[lightlinkPhoenix.id]: {
|
|
47
|
+
multiSend: "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",
|
|
48
|
+
simulate: "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",
|
|
49
|
+
},
|
|
50
|
+
[xdc.id]: {
|
|
51
|
+
multiSend: "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",
|
|
52
|
+
simulate: "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",
|
|
53
|
+
},
|
|
54
|
+
};
|
|
32
55
|
export function getMultiSendAddress(chainId) {
|
|
33
|
-
if (!
|
|
56
|
+
if (!SUPPORTED_CHAIN_IDS.has(chainId)) {
|
|
34
57
|
return undefined;
|
|
35
58
|
}
|
|
36
|
-
|
|
37
|
-
return "0xf220D3b4DFb23C4ade8C88E526C1353AbAcbC38F";
|
|
38
|
-
}
|
|
39
|
-
if (CUSTOM_DEPLOYMENT_CHAIN_IDS.includes(chainId)) {
|
|
40
|
-
return "0x40A2aCCbd92BCA938b02010E17A5b8929b49130D";
|
|
41
|
-
}
|
|
42
|
-
return CANONICAL_MULTI_SEND_ADDRESS;
|
|
59
|
+
return CUSTOM_DEPLOYMENTS[chainId]?.multiSend ?? CANONICAL_MULTI_SEND_ADDRESS;
|
|
43
60
|
}
|
|
44
61
|
export function getSimulateAccessorAddress(chainId) {
|
|
45
|
-
if (!
|
|
62
|
+
if (!SUPPORTED_CHAIN_IDS.has(chainId)) {
|
|
46
63
|
return undefined;
|
|
47
64
|
}
|
|
48
|
-
|
|
49
|
-
return "0x4191E2e12E8BC5002424CE0c51f9947b02675a44";
|
|
50
|
-
}
|
|
51
|
-
if (CUSTOM_DEPLOYMENT_CHAIN_IDS.includes(chainId)) {
|
|
52
|
-
return "0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da";
|
|
53
|
-
}
|
|
54
|
-
return CANONICAL_SIMULATE_ACCESSOR_ADDRESS;
|
|
65
|
+
return CUSTOM_DEPLOYMENTS[chainId]?.simulate ?? CANONICAL_SIMULATE_ACCESSOR_ADDRESS;
|
|
55
66
|
}
|
|
56
67
|
//# sourceMappingURL=addresses.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/safe/simulation/addresses.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,WAAW,EACX,SAAS,EACT,KAAK,EACL,GAAG,EACH,MAAM,EACN,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,EACH,OAAO,EACP,KAAK,EACL,eAAe,EACf,GAAG,EACH,MAAM,GACP,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/safe/simulation/addresses.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,WAAW,EACX,SAAS,EACT,KAAK,EACL,GAAG,EACH,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,EACH,OAAO,EACP,KAAK,EACL,eAAe,EACf,GAAG,EACH,MAAM,GACP,MAAM,aAAa,CAAC;AAErB,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAQjC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS;IAC1C,QAAQ,CAAC,EAAE;IACX,QAAQ,CAAC,EAAE;IACX,SAAS,CAAC,EAAE;IACZ,IAAI,CAAC,EAAE;IACP,WAAW,CAAC,EAAE;IACd,SAAS,CAAC,EAAE;IACZ,KAAK,CAAC,EAAE;IACR,GAAG,CAAC,EAAE;IACN,gBAAgB;IAChB,MAAM,CAAC,EAAE;IACT,QAAQ,CAAC,EAAE;IACX,gBAAgB,CAAC,EAAE;IACnB,KAAK,CAAC,EAAE;IACR,OAAO,CAAC,EAAE;IACV,IAAI,CAAC,EAAE;IACP,KAAK,CAAC,EAAE;IACR,KAAK,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE;IACX,OAAO,CAAC,EAAE;IACV,MAAM,CAAC,EAAE;IACT,GAAG,CAAC,EAAE;IACN,OAAO,CAAC,EAAE;IACV,KAAK,CAAC,EAAE;IACR,eAAe,CAAC,EAAE;IAClB,GAAG,CAAC,EAAE;IACN,MAAM,CAAC,EAAE;CACV,CAAC,CAAC;AAOH,MAAM,4BAA4B,GAAY,4CAA4C,CAAC;AAG3F,MAAM,mCAAmC,GAAY,4CAA4C,CAAC;AAElG,MAAM,kBAAkB,GAQpB;IAEF,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QACb,SAAS,EAAE,4CAA4C;QACvD,QAAQ,EAAE,4CAA4C;KACvD;IACD,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QACX,SAAS,EAAE,4CAA4C;QACvD,QAAQ,EAAE,4CAA4C;KACvD;IAED,CAAC,gBAAgB,CAAC,EAAE;QAClB,SAAS,EAAE,4CAA4C;QACvD,QAAQ,EAAE,4CAA4C;KACvD;IACD,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE;QACrB,SAAS,EAAE,4CAA4C;QACvD,QAAQ,EAAE,4CAA4C;KACvD;IACD,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QACR,SAAS,EAAE,4CAA4C;QACvD,QAAQ,EAAE,4CAA4C;KACvD;CACF,CAAC;AAOF,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,kBAAkB,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,4BAA4B,CAAC;AAChF,CAAC;AAOD,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,kBAAkB,CAAC,OAAO,CAAC,EAAE,QAAQ,IAAI,mCAAmC,CAAC;AACtF,CAAC","sourcesContent":["/**\n * Safe contract addresses for gas simulation and multi-send operations.\n *\n * @see https://ethereum.stackexchange.com/q/168410/24693\n * @see https://github.com/safe-global/safe-deployments/blob/main/src/assets/v1.4.1/multi_send_call_only.json\n * @see https://github.com/safe-global/safe-deployments/blob/main/src/assets/v1.4.1/simulate_tx_accessor.json\n */\nimport type { Address } from \"viem\";\nimport {\n abstract,\n arbitrum,\n avalanche,\n base,\n baseSepolia,\n berachain,\n blast,\n bsc,\n gnosis,\n hyperEvm,\n lightlinkPhoenix,\n linea,\n mainnet,\n mode,\n monad,\n morph,\n optimism,\n polygon,\n scroll,\n sei,\n sepolia,\n sonic,\n unichainSepolia,\n xdc,\n zksync,\n} from \"viem/chains\";\n\nconst DENERGY_CHAIN_ID = 369_369;\n\n/**\n * Chain IDs for address resolution.\n * These are defined as constants for clarity and maintainability.\n */\n\n/** Chains where Safe MultiSend is available */\nconst SUPPORTED_CHAIN_IDS = new Set<number>([\n abstract.id,\n arbitrum.id,\n avalanche.id,\n base.id,\n baseSepolia.id,\n berachain.id,\n blast.id,\n bsc.id,\n DENERGY_CHAIN_ID,\n gnosis.id,\n hyperEvm.id,\n lightlinkPhoenix.id,\n linea.id,\n mainnet.id,\n mode.id,\n monad.id,\n morph.id,\n optimism.id,\n polygon.id,\n scroll.id,\n sei.id,\n sepolia.id,\n sonic.id,\n unichainSepolia.id,\n xdc.id,\n zksync.id,\n]);\n\n/**\n * Contract addresses for Safe v1.4.1 deployments.\n */\n\n/** Canonical MultiSendCallOnly address (most EVM chains) */\nconst CANONICAL_MULTI_SEND_ADDRESS: Address = \"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\";\n\n/** Canonical SimulateTxAccessor address (most EVM chains) */\nconst CANONICAL_SIMULATE_ACCESSOR_ADDRESS: Address = \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\";\n\nconst CUSTOM_DEPLOYMENTS: Readonly<\n Record<\n number,\n {\n readonly multiSend: Address;\n readonly simulate: Address;\n }\n >\n> = {\n // ZK rollups with custom deployments (Abstract, ZKsync)\n [abstract.id]: {\n multiSend: \"0xf220D3b4DFb23C4ade8C88E526C1353AbAcbC38F\",\n simulate: \"0x4191E2e12E8BC5002424CE0c51f9947b02675a44\",\n },\n [zksync.id]: {\n multiSend: \"0xf220D3b4DFb23C4ade8C88E526C1353AbAcbC38F\",\n simulate: \"0x4191E2e12E8BC5002424CE0c51f9947b02675a44\",\n },\n // Chains with custom deployments (Lightlink, XDC)\n [DENERGY_CHAIN_ID]: {\n multiSend: \"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\n simulate: \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\n },\n [lightlinkPhoenix.id]: {\n multiSend: \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n simulate: \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n },\n [xdc.id]: {\n multiSend: \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n simulate: \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n },\n};\n\n/**\n * Get the MultiSend contract address for a given chain.\n *\n * Returns undefined for chains where Safe is not deployed.\n */\nexport function getMultiSendAddress(chainId: number): Address | undefined {\n if (!SUPPORTED_CHAIN_IDS.has(chainId)) {\n return undefined;\n }\n\n return CUSTOM_DEPLOYMENTS[chainId]?.multiSend ?? CANONICAL_MULTI_SEND_ADDRESS;\n}\n\n/**\n * Get the SimulateAccessor contract address for a given chain.\n *\n * Returns undefined for chains where Safe is not deployed.\n */\nexport function getSimulateAccessorAddress(chainId: number): Address | undefined {\n if (!SUPPORTED_CHAIN_IDS.has(chainId)) {\n return undefined;\n }\n\n return CUSTOM_DEPLOYMENTS[chainId]?.simulate ?? CANONICAL_SIMULATE_ACCESSOR_ADDRESS;\n}\n"]}
|