@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,
};