@abstract-foundation/agw-client
Version:
Abstract Global Wallet Client SDK
75 lines (56 loc) • 2.42 kB
text/typescript
import type { Address } from "viem";
import { abstract, abstractTestnet } from "viem/chains";
// AA smart contract deployment
const SMART_ACCOUNT_FACTORY_ADDRESS =
"0x9B947df68D35281C972511B3E7BC875926f26C1A" as const;
// AA wallet validator contract deployment
const EOA_VALIDATOR_ADDRESS = "0x74b9ae28EC45E3FA11533c7954752597C3De3e7A";
const SESSION_KEY_VALIDATOR_ADDRESS =
"0x34ca1501FAE231cC2ebc995CE013Dbe882d7d081";
const CONTRACT_DEPLOYER_ADDRESS =
"0x0000000000000000000000000000000000008006" as const;
const AGW_REGISTRY_ADDRESS =
"0xd5E3efDA6bB5aB545cc2358796E96D9033496Dda" as const;
/** `function addModule(bytes moduleAndData) external` */
const ADD_MODULE_SELECTOR = "0xd3bdf4b5" as const;
/** `function createSession(SessionLib.SessionSpec memory sessionSpec) external` */
const CREATE_SESSION_SELECTOR = "0x5a0694d2" as const;
/** `function batchCall((address,bool,uint256,bytes)[]) external` */
const BATCH_CALL_SELECTOR = "0x8f0273a9" as const;
/** `error INSUFFICIENT_FUNDS()` */
const INSUFFICIENT_BALANCE_SELECTOR = "0xe7931438" as const;
const CANONICAL_DELEGATE_REGISTRY_ADDRESS =
"0x0000000059A24EB229eED07Ac44229DB56C5d797";
const CANONICAL_EXCLUSIVE_DELEGATE_RESOLVER_ADDRESS =
"0x0000000078CC4Cc1C14E27c0fa35ED6E5E58825D";
const AGW_LINK_DELEGATION_RIGHTS =
"0xc10dcfe266c1f71ef476efbd3223555750dc271e4115626b";
const NON_EXPIRING_DELEGATION_RIGHTS = `${AGW_LINK_DELEGATION_RIGHTS}000000ffffffffff`;
const BASE_GAS_PER_PUBDATA_BYTE = 800n;
const BRIDGEHUB_ADDRESS: Record<number, Address> = {
[abstractTestnet.id]: "0x35A54c8C757806eB6820629bc82d90E056394C92",
[abstract.id]: "0x303a465b659cbb0ab36ee643ea362c509eeb5213",
};
const SESSION_KEY_POLICY_REGISTRY_ADDRESS: Address =
"0xfD20b9d7A406e2C4f5D6Df71ABE3Ee48B2EccC9F";
const FEATURE_FLAG_REGISTRY_ADDRESS: Address =
"0xb5023a9F3e948e3A4f9DBA97118EEE801fA4e265";
export {
ADD_MODULE_SELECTOR,
AGW_LINK_DELEGATION_RIGHTS,
AGW_REGISTRY_ADDRESS,
BASE_GAS_PER_PUBDATA_BYTE,
BATCH_CALL_SELECTOR,
BRIDGEHUB_ADDRESS,
CANONICAL_DELEGATE_REGISTRY_ADDRESS,
CANONICAL_EXCLUSIVE_DELEGATE_RESOLVER_ADDRESS,
CONTRACT_DEPLOYER_ADDRESS,
CREATE_SESSION_SELECTOR,
EOA_VALIDATOR_ADDRESS,
FEATURE_FLAG_REGISTRY_ADDRESS,
INSUFFICIENT_BALANCE_SELECTOR,
NON_EXPIRING_DELEGATION_RIGHTS,
SESSION_KEY_POLICY_REGISTRY_ADDRESS,
SESSION_KEY_VALIDATOR_ADDRESS,
SMART_ACCOUNT_FACTORY_ADDRESS,
};