{"mod.ts":{"file":{"contents":"import { http } from \"viem\"\nimport { arbitrumSepolia } from \"viem/chains\"\nimport { privateKeyToAccount } from \"viem/accounts\"\nimport { createUnionClient, type TransferAssetsParameters } from \"@unionlabs/client\"\n\nconst account = privateKeyToAccount(`0x${process.env[\"PRIVATE_KEY\"]}`)\n\nconsole.info(`Account address: ${JSON.stringify(account, undefined, 2)}`)\n\nconst client = createUnionClient({\n account,\n chainId: `${arbitrumSepolia.id}`,\n transport: http(\"https://sepolia-rollup.arbitrum.io/rpc\")\n})\n\nconst payload = {\n amount: 1n,\n autoApprove: false,\n destinationChainId: \"stride-internal-1\",\n receiver: \"stride14qemq0vw6y3gc3u3e0aty2e764u4gs5l66hpe3\",\n denomAddress: \"0xb1d4538b4571d411f07960ef2838ce337fe1e80e\" // LINK\n} satisfies TransferAssetsParameters<`${typeof arbitrumSepolia.id}`>\n\nconst gasResponse = await client.simulateTransaction(payload)\n\nif (gasResponse.isErr()) {\n console.error(`Gas estimation error: ${gasResponse.error}`)\n process.exit(1)\n}\n\nconsole.info(`Gas estimation: ${gasResponse.value}`)\n\nconst approval = await client.approveTransaction(payload)\n\nif (approval.isErr()) {\n console.error(`Approval error: ${approval.error}`)\n process.exit(1)\n}\n\nconsole.info(`Approval hash: ${approval.value}`)\n\nconst transfer = await client.transferAsset(payload)\n\nif (transfer.isErr()) {\n console.error(`Transfer error: ${transfer.error}`)\n process.exit(1)\n}\n\nconsole.info(`Transfer hash: ${transfer.value}`)"}},".npmrc":{"file":{"contents":"engine-strict=true\nnpm_config_yes=true\nauto-install-peers=true\nenable-pre-post-scripts=true\nstrict-peer-dependencies=false\nnode-options=\"--no-warnings\""}},"package.json":{"file":{"contents":"{\n \"name\": \"demo\",\n \"type\": \"module\",\n \"dependencies\": {\n \"tsx\": \"latest\",\n \"viem\": \"latest\",\n \"@unionlabs/client\": \"latest\"\n }\n}"}}}