ModuleSDK
Modules
Omni Account
getDepositToAcrossAction

getDepositToAcrossAction

Get the action to deposit funds to across on the source chain. This is done after a target execution has been successfully completed.

Usage

const action = getDepositToAcrossAction({
  originModulePayload: {
    order: {
      settlement: {
        orchestrator: '0x8a310b9085faF5d9464D84C3d9a7BE3b28c94531',
        recipient: '0xFfF799094Ede20f26d06A6Ff9bFDca13AD260018',
        settlementContract: '0x634341C2FCa77A82F3885e2cB28C5f068bbB4788',
        lastDepositId:
          BigInt(
            37067938379779921880355465646938906079222528935573724150604866268218749224547,
          ),
        targetChainId: 8453,
        targetAccount: '0xFfF799094Ede20f26d06A6Ff9bFDca13AD260018',
        fillDeadline: 1733491631,
      },
      acrossTransfer: {
        originModule: '0x868E00ae42214a5a1BB2d01aE1587c8814cF45BB',
        originAccount: '0xFfF799094Ede20f26d06A6Ff9bFDca13AD260018',
        originChainId: 42161,
        initiateDeadline: 1733493431,
        maxFee: BigInt(0),
        depositId:
          BigInt(
            37067938379779921880355465646938906079222528935573724150604866268218749224547,
          ),
        originTransfer: {
          tokenAddress: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
          amount: BigInt(1000),
        },
        targetTransfer: {
          tokenAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
          amount: BigInt(1000),
        },
      },
      smartDigests: {
        userOpDigest:
          '0x5baad1e01c2149d054c7fd327eff823962c0efbd9d315bbadeeb45261ca6d5e1',
        executionDigest:
          '0x631feebedce2f51ff96ab6c059b1d13bb7aadb36ab8d1e8400d0c070c5227112',
        acrossTransferDigests: {
          digestIndex: BigInt(0),
          chainDataDigests: [
            '0x5cdc36dea4f46f1f892a3d8496dece0be3e81af55aa6984167f33835042df767',
          ],
        },
      },
      userSig:
        '0x2483DA3A338895199E5e538530213157e931Bf0672ede06cbfe5dc3cc6a04d5dbe68d43ae7eea66187c6e9b733be29362d7c972b5d9c4fed70c1114f0962b17358a6c2bb246c75e8d5120f8a2271f3b535aedcf01c',
    },
    auctionFee: BigInt(0),
    orchestratorSig:
      '0x82be0c8d789685dbd1cb4699614518b60ac53a6f8db864adcb90746fb15ea1160d2260f3861fda173fb94580e56deb559efe54c6d473571e46305dcf551962301b',
    acrossMessagePayload:
      '0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000007e287a503f0d19b7899c15e80eb18c0ee55ffd1200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000552483da3a338895199e5e538530213157e931bf0672ede06cbfe5dc3cc6a04d5dbe68d43ae7eea66187c6e9b733be29362d7c972b5d9c4fed70c1114f0962b17358a6c2bb246c75e8d5120f8a2271f3b535aedcf01c0000000000000000000000',
  },
})

Parameters

originModulePayload.order.settlement.orchestrator

The address of the orchestrator.

originModulePayload.order.settlement.recipient

The address of the recipient of funds on the target chain, usually the user.

originModulePayload.order.settlement.settlementContract

The address of the settlement contract, in our case the Across SpokePool.

originModulePayload.order.settlement.lastDepositId

  • Type: bigint

The last deposit Id.

originModulePayload.order.settlement.targetChainId

  • Type: bigint

The chainId of the target chain.

originModulePayload.order.settlement.targetAccount

The address of the user on the target chain.

originModulePayload.order.settlement.fillDeadline

  • Type: bigint

The deadline for the fill to happen by.

originModulePayload.order.acrossTransfer.originModule

The address of the executor module on the origin chain, in our case the Source Executor.

originModulePayload.order.acrossTransfer.originAccount

The address of the user on the origin chain.

originModulePayload.order.acrossTransfer.originChainId

  • Type: bigint

The chainId of the origin chain.

originModulePayload.order.acrossTransfer.initiateDeadline

  • Type: bigint

The deadline for the deposit to happen by on the source chain.

originModulePayload.order.acrossTransfer.maxFee

  • Type: bigint

The maximum fee to be paid by the user.

originModulePayload.order.acrossTransfer.depositId

  • Type: bigint

The deposit Id.

originModulePayload.order.acrossTransfer.originTransfer.tokenAddress

The address of the token to transfer on the origin chain.

originModulePayload.order.acrossTransfer.originTransfer.amount

  • Type: bigint

The amount to transfer on the origin chain.

originModulePayload.order.acrossTransfer.targetTransfer.tokenAddress

The address of the token to transfer on the target chain.

originModulePayload.order.acrossTransfer.targetTransfer.amount

  • Type: bigint

The amount to transfer on the target chain.

originModulePayload.order.smartDigests.userOpDigest

The hash of the UserOperation.

originModulePayload.order.smartDigests.executionDigest

The hash of the Execution.

originModulePayload.order.smartDigests.acrossTransferDigests.digestIndex

  • Type: bigint

The index of the current source chain in the chain data digests.

originModulePayload.order.smartDigests.acrossTransferDigests.chainDataDigests

The array of chain data digests in case multiple source chains are used.

originModulePayload.order.userSig

The user signature.

originModulePayload.auctionFee

  • Type: bigint

The fee to be paid for the solver auction.

originModulePayload.orchestratorSig

The orchestrator signature for the order.

originModulePayload.acrossMessagePayload

The payload to be sent to the target chain.

Returns

action

The action to execute on the account.