• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

semperai / amica-personas / 18247899467

04 Oct 2025 06:20PM UTC coverage: 1.066% (-20.6%) from 21.683%
18247899467

push

github

kasumi-1
bump packages

13 of 15 branches covered (86.67%)

Branch coverage included in aggregate %.

0 of 1205 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/subsquid/src/processor.ts
1
import {
×
2
  BlockHeader,
3
  DataHandlerContext,
4
  EvmBatchProcessor,
5
  EvmBatchProcessorFields,
6
  Log as _Log,
7
  Transaction as _Transaction,
8
} from '@subsquid/evm-processor'
9
import { assertNotNull } from '@subsquid/util-internal'
10
import { Store } from '@subsquid/typeorm-store'
11
import * as factoryAbi from './abi/PersonaTokenFactory'
×
12
import * as bridgeAbi from './abi/AmicaBridgeWrapper'
×
13
import * as amicaAbi from './abi/AmicaTokenMainnet'
×
14

15
// Base deployment data
16
export const DEPLOYMENT = {
×
17
  chainId: 8453,
×
18
  chainName: 'base',
×
19
  addresses: {
×
20
    amicaToken: '0xC0ba25570F4cB592e83FF5f052cC9DD69D5b3caE'.toLowerCase(),
×
21
    personaFactory: '0x62966fd253C2c3507A305f296E54cabD74AEA083'.toLowerCase(),
×
22
    bridgeWrapper: '0xe17B125b85AbCC0Ff212cf33d06d928d4736aA04'.toLowerCase(),
×
23
    erc20Implementation: '0x4b140c2d84c75D50E28b46f4126fF9C1c5e4C3DD'.toLowerCase(),
×
24
  },
×
25
  startBlock: 31632211,
×
26
}
×
27

28
// Log RPC configuration
29
const rpcUrl = process.env.RPC_BASE_HTTP || 'https://mainnet.base.org'
×
30
console.log('=== PROCESSOR CONFIGURATION ===')
×
31
console.log(`RPC URL: ${rpcUrl}`)
×
32
console.log(`Archive Gateway: https://v2.archive.subsquid.io/network/base-mainnet`)
×
33
console.log(`Start Block: ${DEPLOYMENT.startBlock}`)
×
34
console.log(`Finality Confirmation: 75 blocks`)
×
35
console.log('==============================')
×
36

37
export const processor = new EvmBatchProcessor()
×
38
  .setGateway('https://v2.archive.subsquid.io/network/base-mainnet')
×
39
  .setRpcEndpoint({
×
40
    url: rpcUrl,
×
41
    rateLimit: 10
×
42
  })
×
43
  .setFinalityConfirmation(75)
×
44
  .setFields({
×
45
    transaction: {
×
46
      from: true,
×
47
      value: true,
×
48
      hash: true,
×
49
    },
×
50
    log: {
×
51
      topics: true,
×
52
      data: true,
×
53
      transactionHash: true,
×
54
    }
×
55
  })
×
56
  .setBlockRange({
×
57
    from: DEPLOYMENT.startBlock,
×
58
  })
×
59
  // PersonaTokenFactory events
60
  .addLog({
×
61
    address: [DEPLOYMENT.addresses.personaFactory],
×
62
    topic0: [
×
63
      factoryAbi.events.PersonaCreated.topic,
×
64
      factoryAbi.events.Transfer.topic,
×
65
      factoryAbi.events.TokensPurchased.topic,
×
66
      factoryAbi.events.TokensSold.topic,
×
67
      factoryAbi.events.MetadataUpdated.topic,
×
68
      factoryAbi.events.V4PoolCreated.topic,
×
69
      factoryAbi.events.FeesCollected.topic,
×
70
      factoryAbi.events.Graduated.topic,
×
71
      factoryAbi.events.TokensClaimed.topic,
×
72
      factoryAbi.events.TokensDistributed.topic,
×
73
      factoryAbi.events.AgentTokenAssociated.topic,
×
74
      factoryAbi.events.AgentTokensDeposited.topic,
×
75
      factoryAbi.events.AgentTokensWithdrawn.topic,
×
76
      factoryAbi.events.AgentRewardsDistributed.topic,
×
77
      factoryAbi.events.PairingConfigUpdated.topic,
×
78
    ]
×
79
  })
×
80
  // BridgeWrapper events
81
  .addLog({
×
82
    address: [DEPLOYMENT.addresses.bridgeWrapper],
×
83
    topic0: [
×
84
      bridgeAbi.events.TokensWrapped.topic,
×
85
      bridgeAbi.events.TokensUnwrapped.topic,
×
86
      bridgeAbi.events.EmergencyWithdraw.topic,
×
87
      bridgeAbi.events.BridgeMetricsUpdated.topic,
×
88
      bridgeAbi.events.BridgeTokensUpdated.topic,
×
89
    ]
×
90
  })
×
91
  // AmicaToken events (track all AMICA transfers and claims)
92
  .addLog({
×
93
    address: [DEPLOYMENT.addresses.amicaToken],
×
94
    topic0: [
×
95
      amicaAbi.events.Transfer.topic,
×
96
      amicaAbi.events.TokenClaimed.topic,
×
97
      amicaAbi.events.TokenDeposited.topic,
×
98
      amicaAbi.events.TokenConfigured.topic,
×
99
      amicaAbi.events.TokenWithdrawn.topic,
×
100
    ]
×
101
  })
×
102

103
// Log event topic registration
104
console.log('Registered event topics:')
×
105
console.log('- PersonaFactory:', Object.keys(factoryAbi.events).length, 'events')
×
106
console.log('- BridgeWrapper:', Object.keys(bridgeAbi.events).length, 'events')
×
107
console.log('- AmicaToken:', Object.keys(amicaAbi.events).length, 'events')
×
108

109
export type Fields = EvmBatchProcessorFields<typeof processor>
110
export type Context = DataHandlerContext<Store, Fields>
111
export type Block = BlockHeader<Fields>
112
export type Log = _Log<Fields>
113
export type Transaction = _Transaction<Fields>
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc