@bananapus/suckers-v6 1.0.2 → 1.1.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 (105) hide show
  1. package/deployments/arbitrum/CCIPHelper.json +939 -0
  2. package/deployments/arbitrum/JBArbitrumSucker.json +2310 -0
  3. package/deployments/arbitrum/JBArbitrumSuckerDeployer.json +443 -0
  4. package/deployments/arbitrum/JBCCIPLib.json +119 -0
  5. package/deployments/arbitrum/JBCCIPSuckerDeployer__BASE.json +474 -0
  6. package/deployments/arbitrum/JBCCIPSuckerDeployer__ETH.json +474 -0
  7. package/deployments/arbitrum/JBCCIPSuckerDeployer__OP.json +474 -0
  8. package/deployments/arbitrum/JBCCIPSucker__BASE.json +2460 -0
  9. package/deployments/arbitrum/JBCCIPSucker__ETH.json +2460 -0
  10. package/deployments/arbitrum/JBCCIPSucker__OP.json +2460 -0
  11. package/deployments/arbitrum/JBSuckerLib.json +457 -0
  12. package/deployments/arbitrum/JBSuckerRegistry.json +1234 -0
  13. package/deployments/arbitrum_sepolia/CCIPHelper.json +939 -0
  14. package/deployments/arbitrum_sepolia/JBArbitrumSucker.json +2310 -0
  15. package/deployments/arbitrum_sepolia/JBArbitrumSuckerDeployer.json +443 -0
  16. package/deployments/arbitrum_sepolia/JBCCIPLib.json +119 -0
  17. package/deployments/arbitrum_sepolia/JBCCIPSuckerDeployer__BASE_SEP.json +474 -0
  18. package/deployments/arbitrum_sepolia/JBCCIPSuckerDeployer__ETH_SEP.json +474 -0
  19. package/deployments/arbitrum_sepolia/JBCCIPSuckerDeployer__OP_SEP.json +474 -0
  20. package/deployments/arbitrum_sepolia/JBCCIPSucker__BASE_SEP.json +2460 -0
  21. package/deployments/arbitrum_sepolia/JBCCIPSucker__ETH_SEP.json +2460 -0
  22. package/deployments/arbitrum_sepolia/JBCCIPSucker__OP_SEP.json +2460 -0
  23. package/deployments/arbitrum_sepolia/JBSuckerLib.json +457 -0
  24. package/deployments/arbitrum_sepolia/JBSuckerRegistry.json +1234 -0
  25. package/deployments/base/CCIPHelper.json +944 -0
  26. package/deployments/base/JBBaseSucker.json +2302 -0
  27. package/deployments/base/JBBaseSuckerDeployer.json +430 -0
  28. package/deployments/base/JBCCIPLib.json +124 -0
  29. package/deployments/base/JBCCIPSuckerDeployer__ARB.json +479 -0
  30. package/deployments/base/JBCCIPSuckerDeployer__ETH.json +479 -0
  31. package/deployments/base/JBCCIPSuckerDeployer__OP.json +479 -0
  32. package/deployments/base/JBCCIPSucker__ARB.json +2465 -0
  33. package/deployments/base/JBCCIPSucker__ETH.json +2465 -0
  34. package/deployments/base/JBCCIPSucker__OP.json +2465 -0
  35. package/deployments/base/JBSuckerLib.json +462 -0
  36. package/deployments/base/JBSuckerRegistry.json +1239 -0
  37. package/deployments/base_sepolia/CCIPHelper.json +944 -0
  38. package/deployments/base_sepolia/JBBaseSucker.json +2302 -0
  39. package/deployments/base_sepolia/JBBaseSuckerDeployer.json +430 -0
  40. package/deployments/base_sepolia/JBCCIPLib.json +124 -0
  41. package/deployments/base_sepolia/JBCCIPSuckerDeployer__ARB_SEP.json +479 -0
  42. package/deployments/base_sepolia/JBCCIPSuckerDeployer__ETH_SEP.json +479 -0
  43. package/deployments/base_sepolia/JBCCIPSuckerDeployer__OP_SEP.json +479 -0
  44. package/deployments/base_sepolia/JBCCIPSucker__ARB_SEP.json +2465 -0
  45. package/deployments/base_sepolia/JBCCIPSucker__ETH_SEP.json +2465 -0
  46. package/deployments/base_sepolia/JBCCIPSucker__OP_SEP.json +2465 -0
  47. package/deployments/base_sepolia/JBSuckerLib.json +462 -0
  48. package/deployments/base_sepolia/JBSuckerRegistry.json +1239 -0
  49. package/deployments/ethereum/CCIPHelper.json +936 -0
  50. package/deployments/ethereum/JBArbitrumSucker.json +2307 -0
  51. package/deployments/ethereum/JBArbitrumSuckerDeployer.json +440 -0
  52. package/deployments/ethereum/JBBaseSucker.json +2294 -0
  53. package/deployments/ethereum/JBBaseSuckerDeployer.json +422 -0
  54. package/deployments/ethereum/JBCCIPLib.json +116 -0
  55. package/deployments/ethereum/JBCCIPSuckerDeployer__ARB.json +471 -0
  56. package/deployments/ethereum/JBCCIPSuckerDeployer__BASE.json +471 -0
  57. package/deployments/ethereum/JBCCIPSuckerDeployer__OP.json +471 -0
  58. package/deployments/ethereum/JBCCIPSucker__ARB.json +2457 -0
  59. package/deployments/ethereum/JBCCIPSucker__BASE.json +2457 -0
  60. package/deployments/ethereum/JBCCIPSucker__OP.json +2457 -0
  61. package/deployments/ethereum/JBOptimismSucker.json +2294 -0
  62. package/deployments/ethereum/JBOptimismSuckerDeployer.json +422 -0
  63. package/deployments/ethereum/JBSuckerLib.json +454 -0
  64. package/deployments/ethereum/JBSuckerRegistry.json +1231 -0
  65. package/deployments/optimism/CCIPHelper.json +944 -0
  66. package/deployments/optimism/JBCCIPLib.json +124 -0
  67. package/deployments/optimism/JBCCIPSuckerDeployer__ARB.json +479 -0
  68. package/deployments/optimism/JBCCIPSuckerDeployer__BASE.json +479 -0
  69. package/deployments/optimism/JBCCIPSuckerDeployer__ETH.json +479 -0
  70. package/deployments/optimism/JBCCIPSucker__ARB.json +2465 -0
  71. package/deployments/optimism/JBCCIPSucker__BASE.json +2465 -0
  72. package/deployments/optimism/JBCCIPSucker__ETH.json +2465 -0
  73. package/deployments/optimism/JBOptimismSucker.json +2302 -0
  74. package/deployments/optimism/JBOptimismSuckerDeployer.json +430 -0
  75. package/deployments/optimism/JBSuckerLib.json +462 -0
  76. package/deployments/optimism/JBSuckerRegistry.json +1239 -0
  77. package/deployments/optimism_sepolia/CCIPHelper.json +944 -0
  78. package/deployments/optimism_sepolia/JBCCIPLib.json +124 -0
  79. package/deployments/optimism_sepolia/JBCCIPSuckerDeployer__ARB_SEP.json +479 -0
  80. package/deployments/optimism_sepolia/JBCCIPSuckerDeployer__BASE_SEP.json +479 -0
  81. package/deployments/optimism_sepolia/JBCCIPSuckerDeployer__ETH_SEP.json +479 -0
  82. package/deployments/optimism_sepolia/JBCCIPSucker__ARB_SEP.json +2465 -0
  83. package/deployments/optimism_sepolia/JBCCIPSucker__BASE_SEP.json +2465 -0
  84. package/deployments/optimism_sepolia/JBCCIPSucker__ETH_SEP.json +2465 -0
  85. package/deployments/optimism_sepolia/JBOptimismSucker.json +2302 -0
  86. package/deployments/optimism_sepolia/JBOptimismSuckerDeployer.json +430 -0
  87. package/deployments/optimism_sepolia/JBSuckerLib.json +462 -0
  88. package/deployments/optimism_sepolia/JBSuckerRegistry.json +1239 -0
  89. package/deployments/sepolia/CCIPHelper.json +936 -0
  90. package/deployments/sepolia/JBArbitrumSucker.json +2307 -0
  91. package/deployments/sepolia/JBArbitrumSuckerDeployer.json +440 -0
  92. package/deployments/sepolia/JBBaseSucker.json +2294 -0
  93. package/deployments/sepolia/JBBaseSuckerDeployer.json +422 -0
  94. package/deployments/sepolia/JBCCIPLib.json +116 -0
  95. package/deployments/sepolia/JBCCIPSuckerDeployer__ARB_SEP.json +471 -0
  96. package/deployments/sepolia/JBCCIPSuckerDeployer__BASE_SEP.json +471 -0
  97. package/deployments/sepolia/JBCCIPSuckerDeployer__OP_SEP.json +471 -0
  98. package/deployments/sepolia/JBCCIPSucker__ARB_SEP.json +2457 -0
  99. package/deployments/sepolia/JBCCIPSucker__BASE_SEP.json +2457 -0
  100. package/deployments/sepolia/JBCCIPSucker__OP_SEP.json +2457 -0
  101. package/deployments/sepolia/JBOptimismSucker.json +2294 -0
  102. package/deployments/sepolia/JBOptimismSuckerDeployer.json +422 -0
  103. package/deployments/sepolia/JBSuckerLib.json +454 -0
  104. package/deployments/sepolia/JBSuckerRegistry.json +1231 -0
  105. package/package.json +2 -1
@@ -0,0 +1,124 @@
1
+ {
2
+ "format": "sphinx-sol-ct-artifact-1",
3
+ "address": "0xd331f229eeeeb32e54b85fe4a0997627913fb9a5",
4
+ "sourceName": "node_modules/@bananapus/suckers-v6/src/libraries/JBCCIPLib.sol",
5
+ "contractName": "JBCCIPLib",
6
+ "chainId": "0x14a34",
7
+ "abi": [
8
+ {
9
+ "type": "function",
10
+ "name": "decodeTypedMessage",
11
+ "inputs": [
12
+ {
13
+ "name": "data",
14
+ "type": "bytes",
15
+ "internalType": "bytes"
16
+ }
17
+ ],
18
+ "outputs": [
19
+ {
20
+ "name": "messageType",
21
+ "type": "uint8",
22
+ "internalType": "uint8"
23
+ },
24
+ {
25
+ "name": "payload",
26
+ "type": "bytes",
27
+ "internalType": "bytes"
28
+ }
29
+ ],
30
+ "stateMutability": "pure"
31
+ },
32
+ {
33
+ "type": "error",
34
+ "name": "SafeERC20FailedOperation",
35
+ "inputs": [
36
+ {
37
+ "name": "token",
38
+ "type": "address",
39
+ "internalType": "address"
40
+ }
41
+ ]
42
+ }
43
+ ],
44
+ "args": [],
45
+ "solcInputHash": "e30ae5838fcb063abbbe834006568f38",
46
+ "receipt": {
47
+ "type": "0x2",
48
+ "status": "0x1",
49
+ "cumulativeGasUsed": "0xf6d64",
50
+ "logs": [
51
+ {
52
+ "address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
53
+ "topics": [
54
+ "0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
55
+ "0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
56
+ "0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38",
57
+ "0xace2b0136e6f1720cd9b9c5231a9ec4afcc57ca38bd173e5abef6706913a9b49"
58
+ ],
59
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000000",
60
+ "blockHash": "0xb4809fac492d2e083790d08ddcdc86d6f81f4244ce80d5f3b9f20966f4b9e5bd",
61
+ "blockNumber": "0x28ebdbe",
62
+ "blockTimestamp": "0x6a30da5c",
63
+ "transactionHash": "0x6f38ccc53ae2119d574cecd8e8e9bcf7658fdca6c184526807981fb0c171179d",
64
+ "transactionIndex": "0x1",
65
+ "logIndex": "0x0",
66
+ "removed": false
67
+ },
68
+ {
69
+ "address": "0x4dc161ef837ff1c4485b08ddfcdb182f2157be18",
70
+ "topics": [
71
+ "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
72
+ "0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38"
73
+ ],
74
+ "data": "0x",
75
+ "blockHash": "0xb4809fac492d2e083790d08ddcdc86d6f81f4244ce80d5f3b9f20966f4b9e5bd",
76
+ "blockNumber": "0x28ebdbe",
77
+ "blockTimestamp": "0x6a30da5c",
78
+ "transactionHash": "0x6f38ccc53ae2119d574cecd8e8e9bcf7658fdca6c184526807981fb0c171179d",
79
+ "transactionIndex": "0x1",
80
+ "logIndex": "0x1",
81
+ "removed": false
82
+ },
83
+ {
84
+ "address": "0x91f164e1300f13beaf77358e4d84ed78f8e99d38",
85
+ "topics": [
86
+ "0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
87
+ "0xd5deab2e7deb1fc43c598724c179da0517b3ba8e35a6aa10843b370c51835520"
88
+ ],
89
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000005",
90
+ "blockHash": "0xb4809fac492d2e083790d08ddcdc86d6f81f4244ce80d5f3b9f20966f4b9e5bd",
91
+ "blockNumber": "0x28ebdbe",
92
+ "blockTimestamp": "0x6a30da5c",
93
+ "transactionHash": "0x6f38ccc53ae2119d574cecd8e8e9bcf7658fdca6c184526807981fb0c171179d",
94
+ "transactionIndex": "0x1",
95
+ "logIndex": "0x2",
96
+ "removed": false
97
+ }
98
+ ],
99
+ "logsBloom": "0x00000000000010000000000000080000001000000000000000000000000000000000200000000000000000000040000000000000000000000000000000000000400000000000200000000000000000000000000000000040100000000000000040000000000004000000000000000000000000000002000000000000000080008800000000000000000104000000000000000000000000000000000000000000004000040000000000000000000000002200000000000000000000000004000000000002008000000000020000400000000000000000000000000000800000000000000000000100000000000000000200000000000080000000000000000000",
100
+ "transactionHash": "0x6f38ccc53ae2119d574cecd8e8e9bcf7658fdca6c184526807981fb0c171179d",
101
+ "transactionIndex": "0x1",
102
+ "blockHash": "0xb4809fac492d2e083790d08ddcdc86d6f81f4244ce80d5f3b9f20966f4b9e5bd",
103
+ "blockNumber": "0x28ebdbe",
104
+ "gasUsed": "0xeb8ce",
105
+ "effectiveGasPrice": "0x802c80",
106
+ "blobGasUsed": "0x133632",
107
+ "from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
108
+ "to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
109
+ "contractAddress": null,
110
+ "l1GasPrice": "0x40b4f95c",
111
+ "l1GasUsed": "0xb074",
112
+ "l1Fee": "0x27e93b40b9",
113
+ "l1BaseFeeScalar": "0x44d",
114
+ "l1BlobBaseFee": "0x3c1cb60",
115
+ "l1BlobBaseFeeScalar": "0xa118b",
116
+ "daFootprintGasScalar": "0x1be"
117
+ },
118
+ "bytecode": "0x60808060405234601b57610e8d90816100208239308160070152f35b5f80fdfe6080604052307f0000000000000000000000000000000000000000000000000000000000000000146004361015610034575f80fd5b5f905f3560e01c8063476deacb146107f4578063511bd95c146106515780636b56532814610112576388a826681461006a575f80fd5b61010f57606036600319011261010f57610082610994565b602435906001600160a01b038216820361010d576100a39160443591610af6565b90604051916040830193604084528251809552602060608501930190945b8086106100df5750506001600160a01b031660208301528190039150f35b815180516001600160a01b0316855260209081015181860152919390916001916040019401950194906100c1565b825b80fd5b5061010f5761014036600319011261010f5761012c610994565b90602435906001600160401b038216820361010f576044356001600160a01b038116939084900361064d57606435916084356001600160a01b038116919082900361010f5760a4356001600160a01b038116919082900361010f5760e4356001600160401b03811161064d576101a690369060040161092a565b9661010435926001600160401b03841161010d573660238501121561010d5783600401356101d3816109aa565b946101e160405196876108ee565b8186526024602087019260061b820101903682116105c257602401915b818310610605575050610124359790506001600160a01b0388168803610601578397849760018060a01b03169a604051946020860152602085526102436040866108ee565b60405190602082018281106001600160401b038211176105ed5760405260c4358252604051916397a657c960e01b60208401525160248301526024825261028b6044836108ee565b6040519560a087018781106001600160401b038211176105d957906102eb9695949392916040528752602087015287604087015288606087015260808601526020858d8d6040518098819482936320487ded60e01b845260048401610a01565b03915afa9384156105ce578694610596575b50871561049157505080610419575b5096825b845181101561040457856001600160a01b0361032c8388610ae2565b5151161461033c57600101610310565b90610369610362869798999a60206103598197966103849a610ae2565b510151906109e0565b8b89610d45565b6040516396f4e9f960e01b8152948592839260048401610a01565b0381848b5af19081156103f857506103bc575b50936103ae916103a960409683610c93565b610ccd565b825191151582526020820152f35b9490916020863d6020116103f0575b816103d8602093836108ee565b810103126103ec57909450906103ae610397565b5f80fd5b3d91506103cb565b604051903d90823e3d90fd5b50906020916103696103849596979899610362565b604051906323b872dd60e01b85526004523060245281604452602084606481808a5af1906001855114821615610470575b604052836060521561045c575f61030c565b635274afe760e01b83526004859052602483fd5b90600181151661048857863b15153d1516169061044a565b503d84823e3d90fd5b965097986104be959497506020929a93915060405195869283926396f4e9f960e01b845260048401610a01565b03818b855af1801561058b57610558575b6104d99250610c93565b84830390838211610544576040958294036104f7575b5050506103ae565b8280809381935af1903d1561053e573d906105118261090f565b9161051e875193846108ee565b825260203d92013e5b15610535575b5f80806104ef565b6001915061052d565b50610527565b634e487b7160e01b83526011600452602483fd5b6020833d602011610583575b81610571602093836108ee565b810103126103ec576104d992506104cf565b3d9150610564565b6040513d87823e3d90fd5b9093506020813d6020116105c6575b816105b2602093836108ee565b810103126105c25751925f6102fd565b8580fd5b3d91506105a5565b6040513d88823e3d90fd5b634e487b7160e01b89526041600452602489fd5b634e487b7160e01b88526041600452602488fd5b8380fd5b6040833603126105c25760405161061b816108bf565b83356001600160a01b03811681036106495791816040936020935282860135838201528152019201916101fe565b8780fd5b5080fd5b506103ec5760403660031901126103ec5761066a610994565b90602435916001600160401b0383116103ec57366023840112156103ec5782600401356001600160401b0381116103ec573660248260061b860101116103ec57600181146106b6578280f35b156107e05760405163e861e90760e01b815290602090829060049082906001600160a01b03165afa908115610799575f916107b1575b5060248301356001600160a01b03811691908290036103ec576001600160a01b0316908114806107a4575b61072057808280f35b60444793013590803b156103ec575f8091602460405180948193632e1a7d4d60e01b83528760048401525af1801561079957610783575b5061076291926109e0565b470361076f57805f808280f35b634e487b7160e01b81526001600452602490fd5b61076292505f610792916108ee565b5f91610757565b6040513d5f823e3d90fd5b5060448301351515610717565b6107d3915060203d6020116107d9575b6107cb81836108ee565b8101906109c1565b5f6106ec565b503d6107c1565b634e487b7160e01b5f52603260045260245ffd5b60203660031901126103ec576004356001600160401b0381116103ec5761081f90369060040161092a565b8051810190604081602084019303126103ec5760208101519060ff82168092036103ec576040810151906001600160401b0382116103ec570182603f820112156103ec576020810151906108728261090f565b9361088060405195866108ee565b828552604082840101116103ec57815f926040602093018387015e840101526108bb6040519283928352604060208401526040830190610970565b0390f35b604081019081106001600160401b038211176108da57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b038211176108da57604052565b6001600160401b0381116108da57601f01601f191660200190565b81601f820112156103ec578035906109418261090f565b9261094f60405194856108ee565b828452602083830101116103ec57815f926020809301838601378301015290565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036103ec57565b6001600160401b0381116108da5760051b60200190565b908160209103126103ec57516001600160a01b03811681036103ec5790565b919082018092116109ed57565b634e487b7160e01b5f52601160045260245ffd5b906001600160401b039093929316815260406020820152610a47610a31845160a0604085015260e0840190610970565b6020850151838203603f19016060850152610970565b90604084015191603f19828203016080830152602080845192838152019301905f5b818110610aa3575050506080610aa0939460018060a01b0360608201511660a084015201519060c0603f1982850301910152610970565b90565b9091936020604082610aca60019489516020809160018060a01b0381511684520151910152565b019501929101610a69565b8051156107e05760200190565b80518210156107e05760209160051b010190565b9290915f8115610c45576001600160a01b03841661eeee14610ba8575b604080519190610b2381846108ee565b60018352601f190190805b828110610b85575050509081610b839295610b7360405192610b4f846108bf565b6001600160a01b0388168085526020850186905293610b6d82610ad5565b52610ad5565b506001600160a01b031690610d45565b565b602090604051610b94816108bf565b838152838382015282828701015201610b2e565b60405163e861e90760e01b81529093506020816004816001600160a01b0389165afa908115610799575f91610c26575b506001600160a01b0316803b156103ec57604051630d0e30db60e41b81525f8160048186865af1801561079957610c11575b5092610b13565b610c1e9194505f906108ee565b5f925f610c0a565b610c3f915060203d6020116107d9576107cb81836108ee565b5f610bd8565b5091925090506040516020610c5a81836108ee565b5f8252601f19015f5b818110610c705750509190565b602090604051610c7f816108bf565b5f81525f8382015282828601015201610c63565b91905f5b8151811015610cc757600190610cc1856001600160a01b03610cb98487610ae2565b515116610ccd565b01610c97565b50509050565b90610cd95f8284610d94565b15610ce2575050565b610cec8183610de1565b15610d24575f610cfc9183610e45565b15610d045750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b50635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b9190610d52828285610d94565b15610d5c57505050565b610d668184610de1565b15610d765790610cfc9183610e45565b635274afe760e01b5f9081526001600160a01b038416600452602490fd5b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f5114841615610dd0575b50604052565b3d15903b151516909216915f610dca565b60405163095ea7b360e01b5f9081526001600160a01b03909316600452602483905290929160209060448180875af19260015f5114841615610e235750604052565b60018492941516610e3c573b15153d151616915f610dca565b833d5f823e3d90fd5b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f5114841615610e23575060405256fea164736f6c634300081c000a",
119
+ "deployedBytecode": "0x6080604052307f0000000000000000000000000000000000000000000000000000000000000000146004361015610034575f80fd5b5f905f3560e01c8063476deacb146107f4578063511bd95c146106515780636b56532814610112576388a826681461006a575f80fd5b61010f57606036600319011261010f57610082610994565b602435906001600160a01b038216820361010d576100a39160443591610af6565b90604051916040830193604084528251809552602060608501930190945b8086106100df5750506001600160a01b031660208301528190039150f35b815180516001600160a01b0316855260209081015181860152919390916001916040019401950194906100c1565b825b80fd5b5061010f5761014036600319011261010f5761012c610994565b90602435906001600160401b038216820361010f576044356001600160a01b038116939084900361064d57606435916084356001600160a01b038116919082900361010f5760a4356001600160a01b038116919082900361010f5760e4356001600160401b03811161064d576101a690369060040161092a565b9661010435926001600160401b03841161010d573660238501121561010d5783600401356101d3816109aa565b946101e160405196876108ee565b8186526024602087019260061b820101903682116105c257602401915b818310610605575050610124359790506001600160a01b0388168803610601578397849760018060a01b03169a604051946020860152602085526102436040866108ee565b60405190602082018281106001600160401b038211176105ed5760405260c4358252604051916397a657c960e01b60208401525160248301526024825261028b6044836108ee565b6040519560a087018781106001600160401b038211176105d957906102eb9695949392916040528752602087015287604087015288606087015260808601526020858d8d6040518098819482936320487ded60e01b845260048401610a01565b03915afa9384156105ce578694610596575b50871561049157505080610419575b5096825b845181101561040457856001600160a01b0361032c8388610ae2565b5151161461033c57600101610310565b90610369610362869798999a60206103598197966103849a610ae2565b510151906109e0565b8b89610d45565b6040516396f4e9f960e01b8152948592839260048401610a01565b0381848b5af19081156103f857506103bc575b50936103ae916103a960409683610c93565b610ccd565b825191151582526020820152f35b9490916020863d6020116103f0575b816103d8602093836108ee565b810103126103ec57909450906103ae610397565b5f80fd5b3d91506103cb565b604051903d90823e3d90fd5b50906020916103696103849596979899610362565b604051906323b872dd60e01b85526004523060245281604452602084606481808a5af1906001855114821615610470575b604052836060521561045c575f61030c565b635274afe760e01b83526004859052602483fd5b90600181151661048857863b15153d1516169061044a565b503d84823e3d90fd5b965097986104be959497506020929a93915060405195869283926396f4e9f960e01b845260048401610a01565b03818b855af1801561058b57610558575b6104d99250610c93565b84830390838211610544576040958294036104f7575b5050506103ae565b8280809381935af1903d1561053e573d906105118261090f565b9161051e875193846108ee565b825260203d92013e5b15610535575b5f80806104ef565b6001915061052d565b50610527565b634e487b7160e01b83526011600452602483fd5b6020833d602011610583575b81610571602093836108ee565b810103126103ec576104d992506104cf565b3d9150610564565b6040513d87823e3d90fd5b9093506020813d6020116105c6575b816105b2602093836108ee565b810103126105c25751925f6102fd565b8580fd5b3d91506105a5565b6040513d88823e3d90fd5b634e487b7160e01b89526041600452602489fd5b634e487b7160e01b88526041600452602488fd5b8380fd5b6040833603126105c25760405161061b816108bf565b83356001600160a01b03811681036106495791816040936020935282860135838201528152019201916101fe565b8780fd5b5080fd5b506103ec5760403660031901126103ec5761066a610994565b90602435916001600160401b0383116103ec57366023840112156103ec5782600401356001600160401b0381116103ec573660248260061b860101116103ec57600181146106b6578280f35b156107e05760405163e861e90760e01b815290602090829060049082906001600160a01b03165afa908115610799575f916107b1575b5060248301356001600160a01b03811691908290036103ec576001600160a01b0316908114806107a4575b61072057808280f35b60444793013590803b156103ec575f8091602460405180948193632e1a7d4d60e01b83528760048401525af1801561079957610783575b5061076291926109e0565b470361076f57805f808280f35b634e487b7160e01b81526001600452602490fd5b61076292505f610792916108ee565b5f91610757565b6040513d5f823e3d90fd5b5060448301351515610717565b6107d3915060203d6020116107d9575b6107cb81836108ee565b8101906109c1565b5f6106ec565b503d6107c1565b634e487b7160e01b5f52603260045260245ffd5b60203660031901126103ec576004356001600160401b0381116103ec5761081f90369060040161092a565b8051810190604081602084019303126103ec5760208101519060ff82168092036103ec576040810151906001600160401b0382116103ec570182603f820112156103ec576020810151906108728261090f565b9361088060405195866108ee565b828552604082840101116103ec57815f926040602093018387015e840101526108bb6040519283928352604060208401526040830190610970565b0390f35b604081019081106001600160401b038211176108da57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b038211176108da57604052565b6001600160401b0381116108da57601f01601f191660200190565b81601f820112156103ec578035906109418261090f565b9261094f60405194856108ee565b828452602083830101116103ec57815f926020809301838601378301015290565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036103ec57565b6001600160401b0381116108da5760051b60200190565b908160209103126103ec57516001600160a01b03811681036103ec5790565b919082018092116109ed57565b634e487b7160e01b5f52601160045260245ffd5b906001600160401b039093929316815260406020820152610a47610a31845160a0604085015260e0840190610970565b6020850151838203603f19016060850152610970565b90604084015191603f19828203016080830152602080845192838152019301905f5b818110610aa3575050506080610aa0939460018060a01b0360608201511660a084015201519060c0603f1982850301910152610970565b90565b9091936020604082610aca60019489516020809160018060a01b0381511684520151910152565b019501929101610a69565b8051156107e05760200190565b80518210156107e05760209160051b010190565b9290915f8115610c45576001600160a01b03841661eeee14610ba8575b604080519190610b2381846108ee565b60018352601f190190805b828110610b85575050509081610b839295610b7360405192610b4f846108bf565b6001600160a01b0388168085526020850186905293610b6d82610ad5565b52610ad5565b506001600160a01b031690610d45565b565b602090604051610b94816108bf565b838152838382015282828701015201610b2e565b60405163e861e90760e01b81529093506020816004816001600160a01b0389165afa908115610799575f91610c26575b506001600160a01b0316803b156103ec57604051630d0e30db60e41b81525f8160048186865af1801561079957610c11575b5092610b13565b610c1e9194505f906108ee565b5f925f610c0a565b610c3f915060203d6020116107d9576107cb81836108ee565b5f610bd8565b5091925090506040516020610c5a81836108ee565b5f8252601f19015f5b818110610c705750509190565b602090604051610c7f816108bf565b5f81525f8382015282828601015201610c63565b91905f5b8151811015610cc757600190610cc1856001600160a01b03610cb98487610ae2565b515116610ccd565b01610c97565b50509050565b90610cd95f8284610d94565b15610ce2575050565b610cec8183610de1565b15610d24575f610cfc9183610e45565b15610d045750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b50635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b9190610d52828285610d94565b15610d5c57505050565b610d668184610de1565b15610d765790610cfc9183610e45565b635274afe760e01b5f9081526001600160a01b038416600452602490fd5b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f5114841615610dd0575b50604052565b3d15903b151516909216915f610dca565b60405163095ea7b360e01b5f9081526001600160a01b03909316600452602483905290929160209060448180875af19260015f5114841615610e235750604052565b60018492941516610e3c573b15153d151616915f610dca565b833d5f823e3d90fd5b92916040519163095ea7b360e01b5f5260018060a01b031660045260245260205f60448180875af19260015f5114841615610e23575060405256fea164736f6c634300081c000a",
120
+ "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"SafeERC20FailedOperation\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"decodeTypedMessage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"messageType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}]}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"decodeTypedMessage(bytes)\":{\"params\":{\"data\":\"The raw CCIP message data.\"},\"returns\":{\"messageType\":\"The message type (0 = root).\",\"payload\":\"The inner payload (encoded JBMessageRoot).\"}},\"prepareTokenAmounts(ICCIPRouter,address,uint256)\":{\"details\":\"Runs via DELEGATECALL so native ETH wrapping uses the caller's balance.\",\"params\":{\"amount\":\"The amount to bridge.\",\"ccipRouter\":\"The CCIP router.\",\"token\":\"The token to bridge (may be NATIVE_TOKEN).\"},\"returns\":{\"bridgeToken\":\"The actual ERC-20 token address to bridge (wrapped native token if native was wrapped).\",\"tokenAmounts\":\"The CCIP token amounts array (length 0 or 1).\"}},\"sendCCIPMessage(ICCIPRouter,uint64,address,uint256,address,address,uint256,bytes,Client.EVMTokenAmount[],address)\":{\"details\":\"Runs via DELEGATECALL. Handles EVM2AnyMessage construction, getFee, ccipSend, and refund.Supports two fee modes: - `transportPayment > 0`: pay CCIP fees in native ETH (existing behavior). - `transportPayment == 0`: pay CCIP fees in LINK pulled from the caller via transferFrom. This enables chains with no meaningful native token (e.g. Tempo) to use CCIP.\",\"params\":{\"ccipRouter\":\"The CCIP router.\",\"encodedPayload\":\"The ABI-encoded payload (e.g., abi.encode(type, data)).\",\"feeToken\":\"The fee token address: address(0) for native ETH, LINK address for LINK fee mode.\",\"feeTokenPayer\":\"The address to pull LINK fees from via transferFrom (0 to use sucker's own balance).\",\"gasLimit\":\"The gas limit for the CCIP message.\",\"peerAddress\":\"The peer sucker address on the remote chain.\",\"refundRecipient\":\"The address to refund excess transport payment to.\",\"remoteChainSelector\":\"The CCIP chain selector for the remote chain.\",\"tokenAmounts\":\"The token amounts to bridge (from prepareTokenAmounts).\",\"transportPayment\":\"The ETH transport payment available (0 for LINK fee mode).\"},\"returns\":{\"refundAmount\":\"The amount that failed to refund (0 if successful or no refund needed).\",\"refundFailed\":\"Whether the refund transfer failed.\"}},\"unwrapReceivedTokens(ICCIPRouter,Client.EVMTokenAmount[])\":{\"details\":\"Runs via DELEGATECALL so `address(this).balance` refers to the calling contract.\",\"params\":{\"ccipRouter\":\"The CCIP router (used to look up wrapped native token).\",\"destTokenAmounts\":\"The token amounts delivered by CCIP (length 0 or 1).\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"decodeTypedMessage(bytes)\":{\"notice\":\"Decode a typed CCIP message: abi.encode(uint8 type, bytes payload).\"},\"prepareTokenAmounts(ICCIPRouter,address,uint256)\":{\"notice\":\"Prepare token amounts for CCIP: wrap native tokens, build token amounts array, approve router.\"},\"sendCCIPMessage(ICCIPRouter,uint64,address,uint256,address,address,uint256,bytes,Client.EVMTokenAmount[],address)\":{\"notice\":\"Build and send a CCIP message, then handle refunds.\"},\"unwrapReceivedTokens(ICCIPRouter,Client.EVMTokenAmount[])\":{\"notice\":\"Unwrap wrapped native tokens from received CCIP tokens if the delivered token matches the wrapped\"}},\"version\":1}},\"settings\":{\"remappings\":[\"@arbitrum/=node_modules/@arbitrum/\",\"@ballkidz/=node_modules/@ballkidz/\",\"@bananapus/=node_modules/@bananapus/\",\"@bannynet/=node_modules/@bannynet/\",\"@chainlink/=node_modules/@chainlink/\",\"@croptop/=node_modules/@croptop/\",\"@ensdomains/=node_modules/@ensdomains/\",\"@eth-optimism/=node_modules/@eth-optimism/\",\"@offchainlabs/=node_modules/@offchainlabs/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@prb/=node_modules/@prb/\",\"@rev-net/=node_modules/@rev-net/\",\"@scroll-tech/=node_modules/@scroll-tech/\",\"@sphinx-labs/=node_modules/@sphinx-labs/\",\"@uniswap/=node_modules/@uniswap/\",\"@unruggable/=node_modules/@unruggable/\",\"@zksync/=node_modules/@zksync/\",\"base64-sol/=node_modules/base64-sol/\",\"ds-test/=node_modules/@uniswap/v4-core/lib/solmate/lib/ds-test/\",\"erc4626-tests/=node_modules/@uniswap/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\"forge-gas-snapshot/=node_modules/@uniswap/v4-periphery/lib/permit2/lib/forge-gas-snapshot/\",\"forge-std/=lib/forge-std/src/\",\"hardhat/=node_modules/hardhat/\",\"lib/base64/=node_modules/base64-sol/\",\"openzeppelin-contracts/=node_modules/@uniswap/v4-core/lib/openzeppelin-contracts/\",\"permit2/=node_modules/@uniswap/v4-periphery/lib/permit2/\",\"solady/=node_modules/solady/\",\"solmate/=node_modules/@sphinx-labs/contracts/node_modules/solmate/\",\"typeface/=lib/typeface/contracts/\",\"v4-core/=node_modules/@uniswap/v4-periphery/lib/v4-core/\"],\"optimizer\":{\"enabled\":true,\"runs\":200},\"metadata\":{\"bytecodeHash\":\"none\"},\"compilationTarget\":{\"node_modules/@bananapus/suckers-v6/src/libraries/JBCCIPLib.sol\":\"JBCCIPLib\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"viaIR\":true},\"sources\":{\"node_modules/@bananapus/core-v6/src/libraries/JBConstants.sol\":{\"keccak256\":\"0x5d4b095f3b94c52f89b9cf8a8104de0242497e61f1b32ddc82e78a9ba71a6d0f\",\"urls\":[\"bzz-raw://3ac3340339e0b6a7aae881781b2830f59e3f44114955e2f770172a9bffddc104\",\"dweb:/ipfs/QmV9pFGNGcknqHLEuc6rmC1YPwuwtsokjzh1WX8H2jmVRp\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/ICCIPRouter.sol\":{\"keccak256\":\"0x39a710c2228e5b9175a6e4f5ba8d18c33b8d4ca6e4d13a2c19e4b696106db220\",\"urls\":[\"bzz-raw://f221e355e65b83f558d3ddb92e68de730c02644158cf8881e80ec57d8eaf0c6d\",\"dweb:/ipfs/QmT2soR7tGRyjsA9cZbHy8XyCUMdK69t9c7MewZywaaJsY\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/interfaces/IWrappedNativeToken.sol\":{\"keccak256\":\"0xd71f962893ff6d4b7c77606602dd5de63c211efbecf51d0677d047107a4aa814\",\"urls\":[\"bzz-raw://5388f0f6c17dad9c478f6e55cec6d73fcc6ac43dc6714bb0e839ea904fd9033c\",\"dweb:/ipfs/QmWTJQHXEPWRYZgAh64D99kzkQa4EqbuKiHNm9JdypCmch\"],\"license\":\"MIT\"},\"node_modules/@bananapus/suckers-v6/src/libraries/JBCCIPLib.sol\":{\"keccak256\":\"0xf7ebc8400cfc5d5c21536426888a7cda06fdee67724ed3f36da3d7fefb3065a1\",\"urls\":[\"bzz-raw://ebfdde94047d7cc303de3c51dc578a51eebfefae79866b5ed21ad0d8c2792b0a\",\"dweb:/ipfs/QmZ9BH2ooaHwA7jURUyNSpKsvBcoZKV41rinb8gEfppcyN\"],\"license\":\"MIT\"},\"node_modules/@chainlink/contracts-ccip/contracts/interfaces/IRouterClient.sol\":{\"keccak256\":\"0x21280104a988eb7022f8968b1672bafba80a74e59f5512415009dff9a37be46a\",\"urls\":[\"bzz-raw://1bbcde3e9cd0c60f540ec0f2bbd70724cd6c9650428a1fade8c0589ef163d6ca\",\"dweb:/ipfs/QmajfuurMHa1SKWVVXsydeKuPCGzXkKtRUi2HW5EA7p6gr\"],\"license\":\"MIT\"},\"node_modules/@chainlink/contracts-ccip/contracts/libraries/Client.sol\":{\"keccak256\":\"0xe358b1c7da94e7c601ad4d3f19f50892393f59152b46838057cbc68b21fe9bc8\",\"urls\":[\"bzz-raw://070bdf838421d0c7cad76ecb420d36e175bfa909577a8b9f4761cc5578eaba7e\",\"dweb:/ipfs/QmXrYbsmRkkLe85ttb4Cwjfoz82LUbez55ecZyJPqnwy17\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x304d732678032a9781ae85c8f204c8fba3d3a5e31c02616964e75cfdc5049098\",\"urls\":[\"bzz-raw://299ced486011781dc98f638059678323c03079fefae1482abaa2135b22fa92d0\",\"dweb:/ipfs/QmbZNbcPTBxNvwChavN2kkZZs7xHhYL7mv51KrxMhsMs3j\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"],\"license\":\"MIT\"}},\"version\":1}",
121
+ "gitCommit": "npm:@bananapus/suckers-v6@1.0.2",
122
+ "gitDirty": false,
123
+ "history": []
124
+ }