{"version":3,"file":"erc3643-DUGx5gQd-z__cBASb.cjs","names":["extractRevertInfo","includesAny","RecipientNotVerified","HolderFrozen","InsufficientBalance","ComplianceModuleRejected","RICapabilityOperationFailed","createEvmPublicClient","formatAmount","IS_VERIFIED_ABI","INVESTOR_COUNTRY_ABI","parseAmount","resolveRpcUrl","runCapabilityWrite","asTypedEvmNetworkConfig","adaptSignAndBroadcast","guardRuntimeCapability"],"sources":["../../adapter-evm-core/dist/erc3643-DUGx5gQd.mjs"],"sourcesContent":["import { t as createEvmPublicClient } from \"./public-client-DtJS2A20.mjs\";\nimport { i as resolveRpcUrl } from \"./rpc-BMyYpWRW.mjs\";\nimport { c as guardRuntimeCapability, n as asTypedEvmNetworkConfig, r as assertValidAddress, t as adaptSignAndBroadcast } from \"./helpers-CYDHdjrw.mjs\";\nimport { i as includesAny, n as parseAmount, r as extractRevertInfo, t as formatAmount } from \"./amount-Bd1Whvv5.mjs\";\nimport { c as INVESTOR_COUNTRY_ABI, u as IS_VERIFIED_ABI } from \"./abis-Dh-YTBuo.mjs\";\nimport { t as runCapabilityWrite } from \"./executor-CEYC5o85.mjs\";\nimport { logger } from \"@openzeppelin/ui-utils\";\nimport { ComplianceModuleRejected, HolderFrozen, InsufficientBalance, RICapabilityOperationFailed, RecipientNotVerified } from \"@openzeppelin/ui-types\";\n\n//#region src/erc3643/abi.ts\n/** `balanceOf(address) → uint256` (ERC-20). */\nconst BALANCE_OF_ABI = [{\n\ttype: \"function\",\n\tname: \"balanceOf\",\n\tinputs: [{\n\t\tname: \"account\",\n\t\ttype: \"address\"\n\t}],\n\toutputs: [{\n\t\tname: \"\",\n\t\ttype: \"uint256\"\n\t}],\n\tstateMutability: \"view\"\n}];\n/** `isFrozen(address _userAddress) → bool` — wallet freeze status. */\nconst IS_FROZEN_ABI = [{\n\ttype: \"function\",\n\tname: \"isFrozen\",\n\tinputs: [{\n\t\tname: \"_userAddress\",\n\t\ttype: \"address\"\n\t}],\n\toutputs: [{\n\t\tname: \"\",\n\t\ttype: \"bool\"\n\t}],\n\tstateMutability: \"view\"\n}];\n/** `identityRegistry() → address` — the token's linked Identity Registry. */\nconst IDENTITY_REGISTRY_ABI = [{\n\ttype: \"function\",\n\tname: \"identityRegistry\",\n\tinputs: [],\n\toutputs: [{\n\t\tname: \"\",\n\t\ttype: \"address\"\n\t}],\n\tstateMutability: \"view\"\n}];\n/** `compliance() → address` — the token's linked modular compliance contract. */\nconst COMPLIANCE_ABI = [{\n\ttype: \"function\",\n\tname: \"compliance\",\n\tinputs: [],\n\toutputs: [{\n\t\tname: \"\",\n\t\ttype: \"address\"\n\t}],\n\tstateMutability: \"view\"\n}];\n/** `mint(address _to, uint256 _amount)` — agent-only. */\nconst MINT_ABI = [{\n\ttype: \"function\",\n\tname: \"mint\",\n\tinputs: [{\n\t\tname: \"_to\",\n\t\ttype: \"address\"\n\t}, {\n\t\tname: \"_amount\",\n\t\ttype: \"uint256\"\n\t}],\n\toutputs: [],\n\tstateMutability: \"nonpayable\"\n}];\n/** `burn(address _userAddress, uint256 _amount)` — agent-only. */\nconst BURN_ABI = [{\n\ttype: \"function\",\n\tname: \"burn\",\n\tinputs: [{\n\t\tname: \"_userAddress\",\n\t\ttype: \"address\"\n\t}, {\n\t\tname: \"_amount\",\n\t\ttype: \"uint256\"\n\t}],\n\toutputs: [],\n\tstateMutability: \"nonpayable\"\n}];\n/**\n* `forcedTransfer(address _from, address _to, uint256 _amount) → bool` — agent-only.\n*\n* The capability's `transfer({ from, to, amount })` carries an explicit `from`, so it maps\n* to the agent `forcedTransfer` (not the msg.sender-based ERC-20 `transfer`).\n*/\nconst FORCED_TRANSFER_ABI = [{\n\ttype: \"function\",\n\tname: \"forcedTransfer\",\n\tinputs: [\n\t\t{\n\t\t\tname: \"_from\",\n\t\t\ttype: \"address\"\n\t\t},\n\t\t{\n\t\t\tname: \"_to\",\n\t\t\ttype: \"address\"\n\t\t},\n\t\t{\n\t\t\tname: \"_amount\",\n\t\t\ttype: \"uint256\"\n\t\t}\n\t],\n\toutputs: [{\n\t\tname: \"\",\n\t\ttype: \"bool\"\n\t}],\n\tstateMutability: \"nonpayable\"\n}];\n/** `setAddressFrozen(address _userAddress, bool _freeze)` — backs `freeze`/`unfreeze`. */\nconst SET_ADDRESS_FROZEN_ABI = [{\n\ttype: \"function\",\n\tname: \"setAddressFrozen\",\n\tinputs: [{\n\t\tname: \"_userAddress\",\n\t\ttype: \"address\"\n\t}, {\n\t\tname: \"_freeze\",\n\t\ttype: \"bool\"\n\t}],\n\toutputs: [],\n\tstateMutability: \"nonpayable\"\n}];\n/** `canTransfer(address _from, address _to, uint256 _amount) → bool` (read-only). */\nconst CAN_TRANSFER_ABI = [{\n\ttype: \"function\",\n\tname: \"canTransfer\",\n\tinputs: [\n\t\t{\n\t\t\tname: \"_from\",\n\t\t\ttype: \"address\"\n\t\t},\n\t\t{\n\t\t\tname: \"_to\",\n\t\t\ttype: \"address\"\n\t\t},\n\t\t{\n\t\t\tname: \"_amount\",\n\t\t\ttype: \"uint256\"\n\t\t}\n\t],\n\toutputs: [{\n\t\tname: \"\",\n\t\ttype: \"bool\"\n\t}],\n\tstateMutability: \"view\"\n}];\n/** `getModules() → address[]` — compliance modules bound to the contract. */\nconst GET_MODULES_ABI = [{\n\ttype: \"function\",\n\tname: \"getModules\",\n\tinputs: [],\n\toutputs: [{\n\t\tname: \"\",\n\t\ttype: \"address[]\"\n\t}],\n\tstateMutability: \"view\"\n}];\n/** `moduleCheck(address _from, address _to, uint256 _value, address _compliance) → bool`. */\nconst MODULE_CHECK_ABI = [{\n\ttype: \"function\",\n\tname: \"moduleCheck\",\n\tinputs: [\n\t\t{\n\t\t\tname: \"_from\",\n\t\t\ttype: \"address\"\n\t\t},\n\t\t{\n\t\t\tname: \"_to\",\n\t\t\ttype: \"address\"\n\t\t},\n\t\t{\n\t\t\tname: \"_value\",\n\t\t\ttype: \"uint256\"\n\t\t},\n\t\t{\n\t\t\tname: \"_compliance\",\n\t\t\ttype: \"address\"\n\t\t}\n\t],\n\toutputs: [{\n\t\tname: \"\",\n\t\ttype: \"bool\"\n\t}],\n\tstateMutability: \"view\"\n}];\n/** `name() → string` — module identifier, surfaced as `blockingModule`. */\nconst MODULE_NAME_ABI = [{\n\ttype: \"function\",\n\tname: \"name\",\n\tinputs: [],\n\toutputs: [{\n\t\tname: \"_name\",\n\t\ttype: \"string\"\n\t}],\n\tstateMutability: \"pure\"\n}];\n\n//#endregion\n//#region src/erc3643/actions.ts\n/** Assembles `mint(address _to, uint256 _amount)`. */\nfunction assembleMintAction(tokenAddress, to, amount) {\n\treturn {\n\t\taddress: tokenAddress,\n\t\tabi: MINT_ABI,\n\t\tfunctionName: \"mint\",\n\t\targs: [to, amount]\n\t};\n}\n/** Assembles `burn(address _userAddress, uint256 _amount)`. */\nfunction assembleBurnAction(tokenAddress, from, amount) {\n\treturn {\n\t\taddress: tokenAddress,\n\t\tabi: BURN_ABI,\n\t\tfunctionName: \"burn\",\n\t\targs: [from, amount]\n\t};\n}\n/** Assembles `forcedTransfer(address _from, address _to, uint256 _amount)`. */\nfunction assembleTransferAction(tokenAddress, from, to, amount) {\n\treturn {\n\t\taddress: tokenAddress,\n\t\tabi: FORCED_TRANSFER_ABI,\n\t\tfunctionName: \"forcedTransfer\",\n\t\targs: [\n\t\t\tfrom,\n\t\t\tto,\n\t\t\tamount\n\t\t]\n\t};\n}\n/** Assembles `setAddressFrozen(address _userAddress, bool _freeze)` for freeze/unfreeze. */\nfunction assembleSetAddressFrozenAction(tokenAddress, holder, freeze) {\n\treturn {\n\t\taddress: tokenAddress,\n\t\tabi: SET_ADDRESS_FROZEN_ABI,\n\t\tfunctionName: \"setAddressFrozen\",\n\t\targs: [holder, freeze]\n\t};\n}\n\n//#endregion\n//#region src/erc3643/error-mapping.ts\n/**\n* Vendored custom-error ABI fragments, decoded when the executor's viem instance did not\n* carry the contract ABI (so `data.errorName` is absent but raw revert bytes are present).\n*\n* Empty by default: the pinned T-REX uses `require` strings, and when an executor *does*\n* decode a custom error, its name flows through `data.errorName` without needing this ABI.\n* Extension point — add `{ type: 'error', name, inputs }` fragments here (with provenance,\n* like `abi.ts`) to recover names for custom-error contracts whose executor strips them.\n*/\nconst CUSTOM_ERROR_ABI = [];\n/**\n* Map a raw ERC-3643 write failure to a typed error.\n*\n* @param error - The underlying execution error.\n* @param operation - Operation name (e.g. `mint`, `transfer`) for fallback context.\n* @param contractAddress - The token address for error context.\n* @param ctx - Optional holder/amount details for holder-scoped errors.\n*/\nfunction mapErc3643Error(error, operation, contractAddress, ctx = {}) {\n\tconst info = extractRevertInfo(error, CUSTOM_ERROR_ABI);\n\tconst text = info.searchText;\n\tconst { holder, requested } = ctx;\n\tif (includesAny(text, [\n\t\t\"identity is not verified\",\n\t\t\"not verified\",\n\t\t\"identity is not registered\"\n\t])) return new RecipientNotVerified(`Recipient is not verified in the Identity Registry (${operation}).`, holder ?? \"\", contractAddress);\n\tif (text.includes(\"frozen\")) return new HolderFrozen(`Holder is frozen (${operation}).`, holder ?? \"\", contractAddress);\n\tif (includesAny(text, [\n\t\t\"insufficient balance\",\n\t\t\"sender balance too low\",\n\t\t\"cannot burn more than balance\",\n\t\t\"exceeds balance\",\n\t\t\"exceeds available balance\",\n\t\t\"transfer amount exceeds\"\n\t])) return new InsufficientBalance(`Insufficient balance for ${operation}.`, holder ?? \"\", requested ?? \"\", void 0, contractAddress);\n\tif (includesAny(text, [\n\t\t\"compliance not followed\",\n\t\t\"compliance\",\n\t\t\"transfer not possible\",\n\t\t\"not compliant\"\n\t])) return new ComplianceModuleRejected(`A compliance module rejected the ${operation}.`, \"unknown\", contractAddress);\n\tconst detail = info.errorName ? ` (custom error: ${info.errorName})` : info.selector ? ` (unrecognized revert selector: ${info.selector})` : \"\";\n\treturn new RICapabilityOperationFailed(`ERC-3643 ${operation} failed: ${error.message}${detail}`, operation, error, contractAddress);\n}\n\n//#endregion\n//#region src/erc3643/onchain-reader.ts\nconst LOG_SYSTEM$1 = \"EvmErc3643Reader\";\n/** Read `balanceOf` and format as a base-unit decimal string. */\nasync function balanceOf(rpcUrl, tokenAddress, holder, viemChain) {\n\tconst client = createEvmPublicClient(rpcUrl, viemChain);\n\ttry {\n\t\treturn formatAmount(await client.readContract({\n\t\t\taddress: tokenAddress,\n\t\t\tabi: BALANCE_OF_ABI,\n\t\t\tfunctionName: \"balanceOf\",\n\t\t\targs: [holder]\n\t\t}), tokenAddress);\n\t} catch (error) {\n\t\tlogger.error(LOG_SYSTEM$1, `balanceOf failed for ${holder}:`, error);\n\t\tthrow new RICapabilityOperationFailed(`Failed to read balanceOf for ${holder}: ${error.message}`, \"balanceOf\", error, tokenAddress);\n\t}\n}\n/** Whether the holder's wallet is frozen. */\nasync function isFrozen(rpcUrl, tokenAddress, holder, viemChain) {\n\tconst client = createEvmPublicClient(rpcUrl, viemChain);\n\ttry {\n\t\treturn await client.readContract({\n\t\t\taddress: tokenAddress,\n\t\t\tabi: IS_FROZEN_ABI,\n\t\t\tfunctionName: \"isFrozen\",\n\t\t\targs: [holder]\n\t\t});\n\t} catch (error) {\n\t\tlogger.error(LOG_SYSTEM$1, `isFrozen failed for ${holder}:`, error);\n\t\tthrow new RICapabilityOperationFailed(`Failed to read isFrozen for ${holder}: ${error.message}`, \"isFrozen\", error, tokenAddress);\n\t}\n}\n/**\n* Whether the holder is verified in the token's Identity Registry.\n* Resolves the registry via `identityRegistry()`, then calls `isVerified`.\n* Returns `false` (never throws) for the expected-negative case.\n*/\nasync function isVerified(rpcUrl, tokenAddress, holder, viemChain) {\n\tconst client = createEvmPublicClient(rpcUrl, viemChain);\n\ttry {\n\t\tconst registry = await client.readContract({\n\t\t\taddress: tokenAddress,\n\t\t\tabi: IDENTITY_REGISTRY_ABI,\n\t\t\tfunctionName: \"identityRegistry\"\n\t\t});\n\t\treturn await client.readContract({\n\t\t\taddress: registry,\n\t\t\tabi: IS_VERIFIED_ABI,\n\t\t\tfunctionName: \"isVerified\",\n\t\t\targs: [holder]\n\t\t});\n\t} catch {\n\t\tlogger.debug(LOG_SYSTEM$1, `isVerified read returned negative for ${holder}`);\n\t\treturn false;\n\t}\n}\n/** Jurisdiction (ISO-3166 numeric code) as a string, or `undefined` when unavailable. */\nasync function getJurisdiction(rpcUrl, tokenAddress, holder, viemChain) {\n\tconst client = createEvmPublicClient(rpcUrl, viemChain);\n\ttry {\n\t\tconst registry = await client.readContract({\n\t\t\taddress: tokenAddress,\n\t\t\tabi: IDENTITY_REGISTRY_ABI,\n\t\t\tfunctionName: \"identityRegistry\"\n\t\t});\n\t\treturn (await client.readContract({\n\t\t\taddress: registry,\n\t\t\tabi: INVESTOR_COUNTRY_ABI,\n\t\t\tfunctionName: \"investorCountry\",\n\t\t\targs: [holder]\n\t\t})).toString();\n\t} catch {\n\t\tlogger.debug(LOG_SYSTEM$1, `getJurisdiction unavailable for ${holder}`);\n\t\treturn;\n\t}\n}\n/**\n* Pre-flight compliance evaluation for a prospective transfer.\n*\n* Resolves the modular compliance via `compliance()`, counts bound modules via\n* `getModules()`, and uses `canTransfer` for the aggregate decision. When blocked,\n* probes each module's `moduleCheck` to surface the first blocking module's `name()`.\n* Never throws for the expected-negative (blocked) case — returns\n* `{ allowed: false, blockingModule }`.\n*/\nasync function simulateTransfer(rpcUrl, tokenAddress, input, viemChain) {\n\tconst client = createEvmPublicClient(rpcUrl, viemChain);\n\tconst amount = parseAmount(input.amount, tokenAddress);\n\tlet compliance;\n\tlet modules;\n\ttry {\n\t\tcompliance = await client.readContract({\n\t\t\taddress: tokenAddress,\n\t\t\tabi: COMPLIANCE_ABI,\n\t\t\tfunctionName: \"compliance\"\n\t\t});\n\t\tmodules = await client.readContract({\n\t\t\taddress: compliance,\n\t\t\tabi: GET_MODULES_ABI,\n\t\t\tfunctionName: \"getModules\"\n\t\t});\n\t} catch (error) {\n\t\tlogger.error(LOG_SYSTEM$1, \"simulateTransfer setup failed:\", error);\n\t\tthrow new RICapabilityOperationFailed(`Failed to read compliance modules: ${error.message}`, \"simulateTransfer\", error, tokenAddress);\n\t}\n\tlet allowed;\n\ttry {\n\t\tallowed = await client.readContract({\n\t\t\taddress: compliance,\n\t\t\tabi: CAN_TRANSFER_ABI,\n\t\t\tfunctionName: \"canTransfer\",\n\t\t\targs: [\n\t\t\t\tinput.from,\n\t\t\t\tinput.to,\n\t\t\t\tamount\n\t\t\t]\n\t\t});\n\t} catch (error) {\n\t\tlogger.error(LOG_SYSTEM$1, \"simulateTransfer canTransfer failed:\", error);\n\t\tthrow new RICapabilityOperationFailed(`Failed to evaluate canTransfer: ${error.message}`, \"simulateTransfer\", error, tokenAddress);\n\t}\n\tconst modulesEvaluated = modules.length;\n\tif (allowed) return {\n\t\tallowed: true,\n\t\tmodulesEvaluated\n\t};\n\treturn {\n\t\tallowed: false,\n\t\tmodulesEvaluated,\n\t\tblockingModule: await findBlockingModule(client, compliance, modules, input, amount)\n\t};\n}\n/**\n* Probe each compliance module's `moduleCheck`; return the `name()` (or address) of the\n* first that rejects the transfer. Returns `undefined` if none individually reject.\n*/\nasync function findBlockingModule(client, compliance, modules, input, amount) {\n\tfor (const moduleAddress of modules) try {\n\t\tif (!await client.readContract({\n\t\t\taddress: moduleAddress,\n\t\t\tabi: MODULE_CHECK_ABI,\n\t\t\tfunctionName: \"moduleCheck\",\n\t\t\targs: [\n\t\t\t\tinput.from,\n\t\t\t\tinput.to,\n\t\t\t\tamount,\n\t\t\t\tcompliance\n\t\t\t]\n\t\t})) return await moduleName(client, moduleAddress);\n\t} catch {\n\t\tlogger.debug(LOG_SYSTEM$1, `moduleCheck failed for ${moduleAddress}; treating as blocking`);\n\t\treturn await moduleName(client, moduleAddress);\n\t}\n}\n/** Resolve a module's human-readable `name()`, falling back to its address. */\nasync function moduleName(client, moduleAddress) {\n\ttry {\n\t\treturn await client.readContract({\n\t\t\taddress: moduleAddress,\n\t\t\tabi: MODULE_NAME_ABI,\n\t\t\tfunctionName: \"name\"\n\t\t});\n\t} catch {\n\t\treturn moduleAddress;\n\t}\n}\n\n//#endregion\n//#region src/erc3643/service.ts\nconst LOG_SYSTEM = \"EvmErc3643Service\";\n/**\n* EVM implementation of the ERC-3643 capability surface.\n*/\nvar EvmErc3643Service = class {\n\ttokenAddress;\n\tconstructor(networkConfig, executeTransaction, options) {\n\t\tthis.networkConfig = networkConfig;\n\t\tthis.executeTransaction = executeTransaction;\n\t\tthis.tokenAddress = options.tokenAddress;\n\t}\n\tbalanceOf(holder) {\n\t\treturn balanceOf(this.rpcUrl(), this.tokenAddress, holder);\n\t}\n\tisVerified(holder) {\n\t\treturn isVerified(this.rpcUrl(), this.tokenAddress, holder);\n\t}\n\tisFrozen(holder) {\n\t\treturn isFrozen(this.rpcUrl(), this.tokenAddress, holder);\n\t}\n\tgetJurisdiction(holder) {\n\t\treturn getJurisdiction(this.rpcUrl(), this.tokenAddress, holder);\n\t}\n\tsimulateTransfer(input) {\n\t\treturn simulateTransfer(this.rpcUrl(), this.tokenAddress, input);\n\t}\n\tasync mint(input, executionConfig, onStatusChange, runtimeApiKey) {\n\t\tconst amount = parseAmount(input.amount, this.tokenAddress);\n\t\tconst action = assembleMintAction(this.tokenAddress, input.to, amount);\n\t\treturn this.execute(\"mint\", action, executionConfig, onStatusChange, runtimeApiKey, {\n\t\t\tholder: input.to,\n\t\t\trequested: input.amount\n\t\t});\n\t}\n\tasync burn(input, executionConfig, onStatusChange, runtimeApiKey) {\n\t\tconst amount = parseAmount(input.amount, this.tokenAddress);\n\t\tconst action = assembleBurnAction(this.tokenAddress, input.from, amount);\n\t\treturn this.execute(\"burn\", action, executionConfig, onStatusChange, runtimeApiKey, {\n\t\t\tholder: input.from,\n\t\t\trequested: input.amount\n\t\t});\n\t}\n\tasync transfer(input, executionConfig, onStatusChange, runtimeApiKey) {\n\t\tconst amount = parseAmount(input.amount, this.tokenAddress);\n\t\tconst action = assembleTransferAction(this.tokenAddress, input.from, input.to, amount);\n\t\treturn this.execute(\"transfer\", action, executionConfig, onStatusChange, runtimeApiKey, {\n\t\t\tholder: input.from,\n\t\t\trequested: input.amount\n\t\t});\n\t}\n\tfreeze(input, executionConfig, onStatusChange, runtimeApiKey) {\n\t\tconst action = assembleSetAddressFrozenAction(this.tokenAddress, input.holder, true);\n\t\treturn this.execute(\"freeze\", action, executionConfig, onStatusChange, runtimeApiKey, { holder: input.holder });\n\t}\n\tunfreeze(input, executionConfig, onStatusChange, runtimeApiKey) {\n\t\tconst action = assembleSetAddressFrozenAction(this.tokenAddress, input.holder, false);\n\t\treturn this.execute(\"unfreeze\", action, executionConfig, onStatusChange, runtimeApiKey, { holder: input.holder });\n\t}\n\tdispose() {\n\t\tlogger.debug(LOG_SYSTEM, \"ERC-3643 service disposed.\");\n\t}\n\trpcUrl() {\n\t\treturn resolveRpcUrl(this.networkConfig);\n\t}\n\tasync execute(operation, action, executionConfig, onStatusChange, runtimeApiKey, errorContext) {\n\t\treturn { id: (await runCapabilityWrite({\n\t\t\toperation,\n\t\t\taction,\n\t\t\texecutor: this.executeTransaction,\n\t\t\texecutionConfig,\n\t\t\tonStatusChange,\n\t\t\truntimeApiKey\n\t\t}, (error, op, contractAddress) => mapErc3643Error(error, op, contractAddress, errorContext))).id };\n\t}\n};\n/**\n* Factory for {@link EvmErc3643Service}.\n*/\nfunction createEvmErc3643Service(networkConfig, executeTransaction, options) {\n\treturn new EvmErc3643Service(networkConfig, executeTransaction, options);\n}\n\n//#endregion\n//#region src/capabilities/erc3643.ts\n/**\n* Create the EVM ERC-3643 (T-REX) permissioned-token capability.\n*\n* Mirrors {@link createAccessControl} / {@link createIRS}: assembles the service, adapts the\n* injected `signAndBroadcast` into the service's executor via the shared\n* {@link adaptSignAndBroadcast} helper, and wraps the result with `guardRuntimeCapability`\n* for the `RuntimeCapability` surface and idempotent `dispose()`.\n*/\nfunction createERC3643(config, options) {\n\tconst networkConfig = asTypedEvmNetworkConfig(config);\n\tassertValidAddress(\"tokenAddress\", options.tokenAddress);\n\tconst service = createEvmErc3643Service(networkConfig, adaptSignAndBroadcast(options.signAndBroadcast), { tokenAddress: options.tokenAddress });\n\treturn guardRuntimeCapability(service, networkConfig, \"erc3643\", () => service.dispose(), \"general\");\n}\n\n//#endregion\nexport { mapErc3643Error as i, EvmErc3643Service as n, createEvmErc3643Service as r, createERC3643 as t };\n//# sourceMappingURL=erc3643-DUGx5gQd.mjs.map"],"mappings":"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"}