From 22826f73c03c6e43669cffb3dcbabba7ca032c52 Mon Sep 17 00:00:00 2001 From: moreal Date: Fri, 1 Dec 2023 23:38:06 +0900 Subject: [PATCH] Branch agent,avatar address --- src/sync/upstream/events/garage.ts | 21 ++++++++++++++++----- src/sync/upstream/index.ts | 4 ++++ 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/sync/upstream/events/garage.ts b/src/sync/upstream/events/garage.ts index d5d2f2d..92bcb55 100644 --- a/src/sync/upstream/events/garage.ts +++ b/src/sync/upstream/events/garage.ts @@ -1,4 +1,4 @@ -import { Account } from "@planetarium/account"; +import { Account, Address } from "@planetarium/account"; import { signTx } from "@planetarium/tx"; import { ResponseType } from "@prisma/client"; import { @@ -16,6 +16,10 @@ export async function responseTransactionsFromGarageEvents( networkId: string, genesisHash: Uint8Array, startNonce: bigint, + vaultAddresses: { + agentAddress: Address; + avatarAddress: Address; + }, ): Promise { const signerAddress = await account.getAddress(); const responses: BridgeResponse[] = []; @@ -28,10 +32,17 @@ export async function responseTransactionsFromGarageEvents( } of events) { const requests: (IFungibleAssetValues | IFungibleItems)[] = []; for (const fa of fungibleAssetValues) { - requests.push({ - recipient: agentAddress, - amount: fa[1], - }); + if (fa[0].equals(vaultAddresses.agentAddress)) { + requests.push({ + recipient: agentAddress, + amount: fa[1], + }); + } else if (fa[0].equals(vaultAddresses.avatarAddress)) { + requests.push({ + recipient: avatarAddress, + amount: fa[1], + }); + } } for (const fi of fungibleItems) { diff --git a/src/sync/upstream/index.ts b/src/sync/upstream/index.ts index 63791ff..760f7a3 100644 --- a/src/sync/upstream/index.ts +++ b/src/sync/upstream/index.ts @@ -150,6 +150,10 @@ export async function processUpstreamEvents( downstreamNetworkId, downstreamGenesisHash, downstreamNextTxNonce, + { + agentAddress, + avatarAddress, + }, )), ...(await responseTransactionsFromTransferEvents( transferAssetEvents,