@bananapus/nana-sdk-core 2.26.0 → 2.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/cjs/review/contractWrite.d.ts +12 -1
  2. package/dist/cjs/review/contractWrite.d.ts.map +1 -1
  3. package/dist/cjs/review/contractWrite.js +28 -2
  4. package/dist/cjs/review/contractWrite.js.map +1 -1
  5. package/dist/cjs/review/index.d.ts +1 -0
  6. package/dist/cjs/review/index.d.ts.map +1 -1
  7. package/dist/cjs/review/index.js +1 -0
  8. package/dist/cjs/review/index.js.map +1 -1
  9. package/dist/cjs/review/writeRecovery.d.ts +106 -0
  10. package/dist/cjs/review/writeRecovery.d.ts.map +1 -0
  11. package/dist/cjs/review/writeRecovery.js +385 -0
  12. package/dist/cjs/review/writeRecovery.js.map +1 -0
  13. package/dist/cjs/safeService.d.ts +16 -9
  14. package/dist/cjs/safeService.d.ts.map +1 -1
  15. package/dist/cjs/safeService.js +33 -26
  16. package/dist/cjs/safeService.js.map +1 -1
  17. package/dist/cjs/v6/index.d.ts +1 -0
  18. package/dist/cjs/v6/index.d.ts.map +1 -1
  19. package/dist/cjs/v6/index.js +1 -0
  20. package/dist/cjs/v6/index.js.map +1 -1
  21. package/dist/cjs/v6/nft.d.ts +7 -1
  22. package/dist/cjs/v6/nft.d.ts.map +1 -1
  23. package/dist/cjs/v6/nft.js +7 -2
  24. package/dist/cjs/v6/nft.js.map +1 -1
  25. package/dist/cjs/v6/nftInventory.d.ts +72 -0
  26. package/dist/cjs/v6/nftInventory.d.ts.map +1 -0
  27. package/dist/cjs/v6/nftInventory.js +229 -0
  28. package/dist/cjs/v6/nftInventory.js.map +1 -0
  29. package/dist/cjs/v6/sticky.d.ts +2 -0
  30. package/dist/cjs/v6/sticky.d.ts.map +1 -1
  31. package/dist/cjs/v6/sticky.js +43 -8
  32. package/dist/cjs/v6/sticky.js.map +1 -1
  33. package/dist/cjs/v6/suckers.d.ts +32 -0
  34. package/dist/cjs/v6/suckers.d.ts.map +1 -1
  35. package/dist/cjs/v6/suckers.js +70 -0
  36. package/dist/cjs/v6/suckers.js.map +1 -1
  37. package/dist/esm/review/contractWrite.d.ts +12 -1
  38. package/dist/esm/review/contractWrite.d.ts.map +1 -1
  39. package/dist/esm/review/contractWrite.js +26 -2
  40. package/dist/esm/review/contractWrite.js.map +1 -1
  41. package/dist/esm/review/index.d.ts +1 -0
  42. package/dist/esm/review/index.d.ts.map +1 -1
  43. package/dist/esm/review/index.js +1 -0
  44. package/dist/esm/review/index.js.map +1 -1
  45. package/dist/esm/review/writeRecovery.d.ts +106 -0
  46. package/dist/esm/review/writeRecovery.d.ts.map +1 -0
  47. package/dist/esm/review/writeRecovery.js +378 -0
  48. package/dist/esm/review/writeRecovery.js.map +1 -0
  49. package/dist/esm/safeService.d.ts +16 -9
  50. package/dist/esm/safeService.d.ts.map +1 -1
  51. package/dist/esm/safeService.js +33 -26
  52. package/dist/esm/safeService.js.map +1 -1
  53. package/dist/esm/v6/index.d.ts +1 -0
  54. package/dist/esm/v6/index.d.ts.map +1 -1
  55. package/dist/esm/v6/index.js +1 -0
  56. package/dist/esm/v6/index.js.map +1 -1
  57. package/dist/esm/v6/nft.d.ts +7 -1
  58. package/dist/esm/v6/nft.d.ts.map +1 -1
  59. package/dist/esm/v6/nft.js +7 -2
  60. package/dist/esm/v6/nft.js.map +1 -1
  61. package/dist/esm/v6/nftInventory.d.ts +72 -0
  62. package/dist/esm/v6/nftInventory.d.ts.map +1 -0
  63. package/dist/esm/v6/nftInventory.js +226 -0
  64. package/dist/esm/v6/nftInventory.js.map +1 -0
  65. package/dist/esm/v6/sticky.d.ts +2 -0
  66. package/dist/esm/v6/sticky.d.ts.map +1 -1
  67. package/dist/esm/v6/sticky.js +44 -9
  68. package/dist/esm/v6/sticky.js.map +1 -1
  69. package/dist/esm/v6/suckers.d.ts +32 -0
  70. package/dist/esm/v6/suckers.d.ts.map +1 -1
  71. package/dist/esm/v6/suckers.js +71 -2
  72. package/dist/esm/v6/suckers.js.map +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,226 @@
1
+ import { parseAbi, zeroAddress } from "viem";
2
+ import { jb721TiersHookStoreAbi, jbProjectsAbi, } from "../generated/juicebox.js";
3
+ import { v6Address } from "./types.js";
4
+ import { getCurrentRuleset, getUpcomingRuleset, } from "./rulesets.js";
5
+ import { getProject721Shop, } from "./nft.js";
6
+ // Native read interface and deployment addresses: @ballkidz/defifa@1.0.2,
7
+ // DefifaHook/DefifaDeployer; source revision d3c46dd4fe9a093cc46ed5eb2106395d2a19b860.
8
+ // Defifa's pay metadata is (address,uint16[]), NOT JB721's (bool,uint16[]).
9
+ const defifaReadAbi = parseAbi([
10
+ "function store() view returns (address)",
11
+ "function CODE_ORIGIN() view returns (address)",
12
+ "function projectId() view returns (uint256)",
13
+ "function gamePhaseReporter() view returns (address)",
14
+ "function gamePotReporter() view returns (address)",
15
+ "function pricingCurrency() view returns (uint256)",
16
+ "function contractURI() view returns (string)",
17
+ "function tierNameOf(uint256) view returns (string)",
18
+ "function currentSupplyOfTier(uint256) view returns (uint256)",
19
+ "function currentGamePotOf(uint256,bool) view returns (uint256,address,uint256)",
20
+ "function currentGamePhaseOf(uint256) view returns (uint8)",
21
+ ]);
22
+ const mainnetDefifa = {
23
+ deployer: "0x375afb2a4b1cadae99f8863f96fc1aebcbaf8bde",
24
+ implementation: "0xe2229dd6a7da99ebb8f7d749612edd1b2addafe1",
25
+ };
26
+ const testnetDefifa = {
27
+ deployer: "0xbfa54a97099485c134f06c9a08a4909c26fd7318",
28
+ implementation: "0x3184783d0e3cbf5a821794b246c71a3d1a0cf312",
29
+ };
30
+ const defifaDeployments = {
31
+ 1: mainnetDefifa,
32
+ 10: mainnetDefifa,
33
+ 8453: mainnetDefifa,
34
+ 42161: mainnetDefifa,
35
+ 11155111: testnetDefifa,
36
+ 11155420: testnetDefifa,
37
+ 84532: testnetDefifa,
38
+ 421614: testnetDefifa,
39
+ };
40
+ const defifaStore = "0x69913acf79dbba170d9efafe605ee62b42164f9c";
41
+ function sameAddress(left, right) {
42
+ return left.toLowerCase() === right.toLowerCase();
43
+ }
44
+ /**
45
+ * Discover displayable NFT tiers at one block, including Defifa games before
46
+ * entry starts and after payments stop. Unknown hooks return null; RPC failures
47
+ * throw. Defifa recognition requires the pinned deployer, exact clone runtime,
48
+ * project binding, native implementation/store and both game reporters.
49
+ *
50
+ * This is inventory discovery, not action authorization: JB721 capabilities
51
+ * identify compatible calldata, not account permissions or current pay status.
52
+ * Defifa entries, refunds and settlement require its native lifecycle adapter.
53
+ */
54
+ export async function getProjectNftInventory(client, args) {
55
+ const { chainId, projectId, isRevnet = false, tierLimit = 100, startingId = 0n, categories = [], includeResolvedUri = false, } = args;
56
+ if (!Number.isInteger(tierLimit) || tierLimit < 1 || tierLimit > 128) {
57
+ throw new Error("NFT inventory tierLimit must be an integer between 1 and 128.");
58
+ }
59
+ if (startingId < 0n)
60
+ throw new Error("NFT inventory startingId cannot be negative.");
61
+ if (categories.some((category, index) => category < 0n ||
62
+ category > 0xffffffn ||
63
+ (index > 0 && category <= categories[index - 1]))) {
64
+ throw new Error("NFT inventory categories must be ascending, unique uint24 values for stable pagination.");
65
+ }
66
+ if ((await client.getChainId()) !== chainId)
67
+ throw new Error("NFT inventory client is connected to the wrong chain.");
68
+ if (args.blockNumber !== undefined && args.blockNumber < 0n) {
69
+ throw new Error("NFT inventory blockNumber cannot be negative.");
70
+ }
71
+ const blockNumber = args.blockNumber ?? (await client.getBlockNumber());
72
+ const snapshot = {
73
+ ...client,
74
+ readContract: (parameters) => client.readContract({ ...parameters, blockNumber }),
75
+ };
76
+ const ruleset = isRevnet
77
+ ? undefined
78
+ : await getCurrentRuleset(snapshot, args);
79
+ const hook = ruleset?.metadata.dataHook;
80
+ const deployment = defifaDeployments[chainId];
81
+ let owner;
82
+ // Only project ownership by the native deployer admits a Defifa candidate.
83
+ // This does not probe arbitrary custom hooks as if they were Defifa.
84
+ if (!isRevnet && deployment) {
85
+ owner = await snapshot.readContract({
86
+ address: v6Address("JBProjects", chainId),
87
+ abi: jbProjectsAbi,
88
+ functionName: "ownerOf",
89
+ args: [projectId],
90
+ });
91
+ }
92
+ if (!deployment || !owner || !sameAddress(owner, deployment.deployer)) {
93
+ const shop = await getProject721Shop(snapshot, {
94
+ ...args,
95
+ isRevnet,
96
+ ruleset,
97
+ includeInactiveHook: true,
98
+ tierLimit: tierLimit + 1,
99
+ });
100
+ if (!shop)
101
+ return null;
102
+ return {
103
+ ...shop,
104
+ protocol: "jb721",
105
+ blockNumber,
106
+ tiers: shop.tiers.slice(0, tierLimit),
107
+ nextStartingId: shop.tiers[tierLimit]
108
+ ? BigInt(shop.tiers[tierLimit].id)
109
+ : null,
110
+ capabilities: {
111
+ genericPay: true,
112
+ genericCashOut: true,
113
+ manageTiers: true,
114
+ },
115
+ };
116
+ }
117
+ // Countdown has no active ruleset yet; its first configured hook is queued.
118
+ const hookRuleset = !hook || hook === zeroAddress
119
+ ? await getUpcomingRuleset(snapshot, args)
120
+ : ruleset;
121
+ const defifaHook = hookRuleset.metadata.dataHook;
122
+ if (!defifaHook || defifaHook === zeroAddress)
123
+ return null;
124
+ const cloneCode = await client.getBytecode({
125
+ address: defifaHook,
126
+ blockNumber,
127
+ });
128
+ const expectedCode = `0x363d3d373d3d3d363d73${deployment.implementation.slice(2)}5af43d82803e903d91602b57fd5bf3`;
129
+ if (cloneCode?.toLowerCase() !== expectedCode)
130
+ throw new Error("Defifa hook clone does not match its pinned implementation.");
131
+ const read = (functionName) => snapshot.readContract({
132
+ address: defifaHook,
133
+ abi: defifaReadAbi,
134
+ functionName,
135
+ });
136
+ const [store, implementation, hookProjectId, phaseReporter, potReporter, currency, contractUri,] = await Promise.all([
137
+ read("store"),
138
+ read("CODE_ORIGIN"),
139
+ read("projectId"),
140
+ read("gamePhaseReporter"),
141
+ read("gamePotReporter"),
142
+ read("pricingCurrency"),
143
+ read("contractURI"),
144
+ ]);
145
+ if (!sameAddress(store, defifaStore) ||
146
+ !sameAddress(implementation, deployment.implementation) ||
147
+ hookProjectId !== projectId ||
148
+ !sameAddress(phaseReporter, deployment.deployer) ||
149
+ !sameAddress(potReporter, deployment.deployer)) {
150
+ throw new Error("Defifa hook provenance does not match the project deployment.");
151
+ }
152
+ const [pot, phase, raw] = await Promise.all([
153
+ snapshot.readContract({
154
+ address: deployment.deployer,
155
+ abi: defifaReadAbi,
156
+ functionName: "currentGamePotOf",
157
+ args: [projectId, false],
158
+ }),
159
+ snapshot.readContract({
160
+ address: deployment.deployer,
161
+ abi: defifaReadAbi,
162
+ functionName: "currentGamePhaseOf",
163
+ args: [projectId],
164
+ }),
165
+ snapshot.readContract({
166
+ address: store,
167
+ abi: jb721TiersHookStoreAbi,
168
+ functionName: "tiersOf",
169
+ args: [
170
+ defifaHook,
171
+ categories,
172
+ includeResolvedUri,
173
+ startingId,
174
+ BigInt(tierLimit + 1),
175
+ ],
176
+ }),
177
+ ]);
178
+ if (typeof currency !== "bigint" ||
179
+ currency > 0xffffffffn ||
180
+ pot[2] > 255n ||
181
+ pot[1] === zeroAddress ||
182
+ phase > 5) {
183
+ throw new Error("Defifa pricing or phase context is invalid.");
184
+ }
185
+ const visible = raw.filter((tier) => tier.initialSupply > 0);
186
+ const tiers = await Promise.all(visible.slice(0, tierLimit).map(async (tier) => {
187
+ const [name, currentSupply] = await Promise.all([
188
+ snapshot.readContract({
189
+ address: defifaHook,
190
+ abi: defifaReadAbi,
191
+ functionName: "tierNameOf",
192
+ args: [BigInt(tier.id)],
193
+ }),
194
+ snapshot.readContract({
195
+ address: defifaHook,
196
+ abi: defifaReadAbi,
197
+ functionName: "currentSupplyOfTier",
198
+ args: [BigInt(tier.id)],
199
+ }),
200
+ ]);
201
+ return { ...tier, name, currentSupply };
202
+ }));
203
+ return {
204
+ protocol: "defifa",
205
+ hook: defifaHook,
206
+ store: store,
207
+ implementation: implementation,
208
+ contractUri: contractUri,
209
+ pricing: {
210
+ currency: Number(currency),
211
+ decimals: Number(pot[2]),
212
+ token: pot[1],
213
+ },
214
+ phase,
215
+ tiers,
216
+ ruleset: hookRuleset,
217
+ blockNumber,
218
+ capabilities: {
219
+ genericPay: false,
220
+ genericCashOut: false,
221
+ manageTiers: false,
222
+ },
223
+ nextStartingId: visible[tierLimit] ? BigInt(visible[tierLimit].id) : null,
224
+ };
225
+ }
226
+ //# sourceMappingURL=nftInventory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nftInventory.js","sourceRoot":"","sources":["../../../src/v6/nftInventory.ts"],"names":[],"mappings":"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"}
@@ -376,6 +376,8 @@ export interface StickyCollectorRoute {
376
376
  * sending. Source credits may queue before their ERC-20 exists; the home-chain
377
377
  * reward ERC-20 and registered Sticky pool must already exist. The canonical
378
378
  * registered peer determines the destination reward project, never address parity.
379
+ * Native Arbitrum L1 sends are refused until asynchronous caller refunds are
380
+ * supported. Identifying a CCIP transport does not certify its live router lane.
379
381
  * Re-run through the reviewed-write reverify boundary before simulation/submission.
380
382
  */
381
383
  export declare function verifyStickyCollectorRoute(sourceClient: PublicClient, destinationClient: PublicClient, args: StickyCollectorAllocation & {
@@ -1 +1 @@
1
- {"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["../../../src/v6/sticky.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["../../../src/v6/sticky.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isAddress, isAddressEqual, keccak256, zeroAddress, zeroHash, } from "viem";
2
- import { jbSuckerRegistryAbi, jbControllerAbi, jbDirectoryAbi, jbMultiTerminalAbi, jbTokensAbi, stickyHookAbi, stickyRewardReceiverFactoryAbi, } from "../generated/juicebox.js";
2
+ import { jbSuckerRegistryAbi, jbDirectoryAbi, jbMultiTerminalAbi, jbTokensAbi, stickyHookAbi, stickyRewardReceiverFactoryAbi, } from "../generated/juicebox.js";
3
3
  import { SPLITS_TOTAL_PERCENT } from "../pureConstants.js";
4
4
  import { buildSplit } from "./splits.js";
5
5
  import { v6Address } from "./types.js";
@@ -718,6 +718,8 @@ export async function verifyStickySourceCollector(client, deployment) {
718
718
  * sending. Source credits may queue before their ERC-20 exists; the home-chain
719
719
  * reward ERC-20 and registered Sticky pool must already exist. The canonical
720
720
  * registered peer determines the destination reward project, never address parity.
721
+ * Native Arbitrum L1 sends are refused until asynchronous caller refunds are
722
+ * supported. Identifying a CCIP transport does not certify its live router lane.
721
723
  * Re-run through the reviewed-write reverify boundary before simulation/submission.
722
724
  */
723
725
  export async function verifyStickyCollectorRoute(sourceClient, destinationClient, args) {
@@ -776,7 +778,7 @@ export async function verifyStickyCollectorRoute(sourceClient, destinationClient
776
778
  throw new Error("Sticky receiver identity differs between source and home chain.");
777
779
  let destinationProjectId = sourceProjectId;
778
780
  if (deployment.sourceChainId !== home) {
779
- const { jbSuckerV6ViewAbi, suckerBytes32ToAddress } = await import("./suckers.js");
781
+ const { classifySuckerTransport, jbNativeSuckerV6ProbeAbi, jbSuckerV6ViewAbi, suckerBytes32ToAddress, verifySuckerDestinationMint, } = await import("./suckers.js");
780
782
  const { sucker, backingToken } = args;
781
783
  if (!sucker || !backingToken)
782
784
  throw new Error("A direct Sticky source-to-home route is required.");
@@ -871,6 +873,40 @@ export async function verifyStickyCollectorRoute(sourceClient, destinationClient
871
873
  if (returnChain !== BigInt(deployment.sourceChainId) ||
872
874
  !isAddressEqual(suckerBytes32ToAddress(returnPeer), sucker))
873
875
  throw new Error("Sticky destination peer does not match the source route.");
876
+ // The fee child can return only same-call refunds. Native Arbitrum L1
877
+ // retryables refund later on L2, where the child cannot attribute or return
878
+ // that caller's payment. This is a qualification mitigation, not a contract
879
+ // restriction or a fix to the upstream asynchronous refund destination.
880
+ const transport = await classifySuckerTransport(sourceClient, sucker);
881
+ if (transport === "unknown")
882
+ throw new Error("Sticky collector bridge transport cannot be qualified.");
883
+ if (transport === "native") {
884
+ const messenger = await sourceClient
885
+ .readContract({
886
+ address: sucker,
887
+ abi: jbNativeSuckerV6ProbeAbi,
888
+ functionName: "OPMESSENGER",
889
+ })
890
+ .catch(() => zeroAddress);
891
+ if (isAddressEqual(messenger, zeroAddress)) {
892
+ const layer = await sourceClient.readContract({
893
+ address: sucker,
894
+ abi: jbNativeSuckerV6ProbeAbi,
895
+ functionName: "LAYER",
896
+ });
897
+ if (layer === 0)
898
+ throw new Error("Native L1 Arbitrum collector delivery is unavailable: asynchronous refunds cannot return to the delivery caller.");
899
+ if (layer !== 1)
900
+ throw new Error("Sticky collector bridge transport layer cannot be qualified.");
901
+ const gateway = await sourceClient.readContract({
902
+ address: sucker,
903
+ abi: jbNativeSuckerV6ProbeAbi,
904
+ functionName: "GATEWAYROUTER",
905
+ });
906
+ if (isAddressEqual(gateway, zeroAddress))
907
+ throw new Error("Sticky collector bridge transport cannot be qualified.");
908
+ }
909
+ }
874
910
  const remoteBackingToken = suckerBytes32ToAddress(mapping.addr);
875
911
  const [sourceContext, destinationContext] = await Promise.all([
876
912
  stickyBackingContext(sourceClient, deployment.sourceChainId, sourceProjectId, backingToken),
@@ -879,13 +915,12 @@ export async function verifyStickyCollectorRoute(sourceClient, destinationClient
879
915
  if (sourceContext.decimals !== destinationContext.decimals)
880
916
  throw new Error("Sticky backing decimals differ between source and home chain.");
881
917
  // Registration survives some ruleset changes that can revoke mint authority.
882
- // Probe the actual current controller as the peer; this eth_call mints no live tokens.
883
- await destinationClient.simulateContract({
884
- address: destinationContext.controller,
885
- abi: jbControllerAbi,
886
- functionName: "mintTokensOf",
887
- args: [destinationProjectId, 1n, receiver, "", false],
888
- account: peerAddress,
918
+ await verifySuckerDestinationMint(destinationClient, {
919
+ chainId: home,
920
+ projectId: destinationProjectId,
921
+ sucker: peerAddress,
922
+ beneficiary: receiver,
923
+ tokenCount: 1n,
889
924
  });
890
925
  }
891
926
  const [sourceToken, rewardToken] = await Promise.all([
@@ -1 +1 @@
1
- {"version":3,"file":"sticky.js","sourceRoot":"","sources":["../../../src/v6/sticky.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sticky.js","sourceRoot":"","sources":["../../../src/v6/sticky.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,19 @@
1
1
  import { Address, Hex, PublicClient } from "viem";
2
2
  import { JBChainId } from "../types.js";
3
+ /**
4
+ * Probe the destination's actual current controller before burning source tokens.
5
+ * The caller must first authenticate the registered reciprocal peer and destination
6
+ * project. Registration alone does not establish current mint authority. This
7
+ * eth_call uses the reviewed beneficiary/count, mints no live tokens, and proves
8
+ * only present readiness; re-run before submission and retain bridge recovery.
9
+ */
10
+ export declare function verifySuckerDestinationMint(client: PublicClient, args: {
11
+ chainId: JBChainId;
12
+ projectId: bigint;
13
+ sucker: Address;
14
+ beneficiary: Address;
15
+ tokenCount: bigint;
16
+ }): Promise<void>;
3
17
  /** Common v6 sucker view surface used to reconstruct and verify bridge state. */
4
18
  export declare const jbSuckerV6ViewAbi: readonly [{
5
19
  readonly type: "function";
@@ -175,6 +189,24 @@ export declare const jbCcipSuckerV6Abi: readonly [{
175
189
  }];
176
190
  /** Native-bridge-only probes used to positively identify sucker transports. */
177
191
  export declare const jbNativeSuckerV6ProbeAbi: readonly [{
192
+ readonly type: "function";
193
+ readonly name: "GATEWAYROUTER";
194
+ readonly stateMutability: "view";
195
+ readonly inputs: readonly [];
196
+ readonly outputs: readonly [{
197
+ readonly name: "";
198
+ readonly type: "address";
199
+ }];
200
+ }, {
201
+ readonly type: "function";
202
+ readonly name: "LAYER";
203
+ readonly stateMutability: "view";
204
+ readonly inputs: readonly [];
205
+ readonly outputs: readonly [{
206
+ readonly name: "";
207
+ readonly type: "uint8";
208
+ }];
209
+ }, {
178
210
  readonly type: "function";
179
211
  readonly name: "OPMESSENGER";
180
212
  readonly stateMutability: "view";
@@ -1 +1 @@
1
- {"version":3,"file":"suckers.d.ts","sourceRoot":"","sources":["../../../src/v6/suckers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suckers.d.ts","sourceRoot":"","sources":["../../../src/v6/suckers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,41 @@
1
- import { encodeAbiParameters, getAddress, keccak256, pad, sliceHex, zeroAddress, zeroHash, } from "viem";
1
+ import { encodeAbiParameters, getAddress, isAddressEqual, keccak256, pad, sliceHex, zeroAddress, zeroHash, } from "viem";
2
2
  import { NATIVE_TOKEN, USDC_ADDRESSES } from "../constants.js";
3
- import { jbSuckerRegistryAbi } from "../generated/juicebox.js";
3
+ import { jbControllerAbi, jbDirectoryAbi, jbSuckerRegistryAbi, } from "../generated/juicebox.js";
4
4
  import { v6Address } from "./types.js";
5
+ /**
6
+ * Probe the destination's actual current controller before burning source tokens.
7
+ * The caller must first authenticate the registered reciprocal peer and destination
8
+ * project. Registration alone does not establish current mint authority. This
9
+ * eth_call uses the reviewed beneficiary/count, mints no live tokens, and proves
10
+ * only present readiness; re-run before submission and retain bridge recovery.
11
+ */
12
+ export async function verifySuckerDestinationMint(client, args) {
13
+ if (args.projectId <= 0n ||
14
+ args.tokenCount <= 0n ||
15
+ isAddressEqual(args.sucker, zeroAddress) ||
16
+ isAddressEqual(args.beneficiary, zeroAddress))
17
+ throw new Error("Bridge destination mint inputs must be positive and nonzero.");
18
+ if ((await client.getChainId()) !== args.chainId)
19
+ throw new Error("The destination mint RPC returned the wrong chain.");
20
+ const controller = await client.readContract({
21
+ address: v6Address("JBDirectory", args.chainId),
22
+ abi: jbDirectoryAbi,
23
+ functionName: "controllerOf",
24
+ args: [args.projectId],
25
+ });
26
+ const code = isAddressEqual(controller, zeroAddress)
27
+ ? undefined
28
+ : await client.getCode({ address: controller });
29
+ if (!code || code === "0x")
30
+ throw new Error("The bridge destination needs a deployed current controller.");
31
+ await client.simulateContract({
32
+ address: controller,
33
+ abi: jbControllerAbi,
34
+ functionName: "mintTokensOf",
35
+ args: [args.projectId, args.tokenCount, args.beneficiary, "", false],
36
+ account: args.sucker,
37
+ });
38
+ }
5
39
  const jbSuckerV6WriteAbi = [
6
40
  {
7
41
  type: "function",
@@ -182,6 +216,20 @@ export const jbCcipSuckerV6Abi = [
182
216
  ];
183
217
  /** Native-bridge-only probes used to positively identify sucker transports. */
184
218
  export const jbNativeSuckerV6ProbeAbi = [
219
+ {
220
+ type: "function",
221
+ name: "GATEWAYROUTER",
222
+ stateMutability: "view",
223
+ inputs: [],
224
+ outputs: [{ name: "", type: "address" }],
225
+ },
226
+ {
227
+ type: "function",
228
+ name: "LAYER",
229
+ stateMutability: "view",
230
+ inputs: [],
231
+ outputs: [{ name: "", type: "uint8" }],
232
+ },
185
233
  {
186
234
  type: "function",
187
235
  name: "OPMESSENGER",
@@ -616,6 +664,27 @@ export async function classifySuckerTransport(client, sucker) {
616
664
  // Keep probing; an RPC error must not be treated as a positive match.
617
665
  }
618
666
  }
667
+ // Canonical Arbitrum L2 deployments deliberately have no L1 inbox.
668
+ // Their positive identity is the L2 layer and configured gateway router.
669
+ try {
670
+ const [layer, gateway] = await Promise.all([
671
+ client.readContract({
672
+ address: sucker,
673
+ abi: jbNativeSuckerV6ProbeAbi,
674
+ functionName: "LAYER",
675
+ }),
676
+ client.readContract({
677
+ address: sucker,
678
+ abi: jbNativeSuckerV6ProbeAbi,
679
+ functionName: "GATEWAYROUTER",
680
+ }),
681
+ ]);
682
+ if (layer === 1 && !isAddressEqual(gateway, zeroAddress))
683
+ return "native";
684
+ }
685
+ catch {
686
+ // A failed required probe cannot establish a usable native transport.
687
+ }
619
688
  return "unknown";
620
689
  }
621
690
  /** Build a payable JBSucker.syncAccountingData transaction request. */