logos-bancos-br 0.3.0 → 0.4.1

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 (651) hide show
  1. package/README.en.md +57 -35
  2. package/README.md +69 -45
  3. package/data/bancos.json +5 -13169
  4. package/data/instituicoes-pix.json +14110 -0
  5. package/dist/{chunk-KD5PZUHB.cjs → chunk-2KQIFFUZ.cjs} +6 -6
  6. package/dist/{chunk-7G7JITRQ.js → chunk-JNV4RZ6N.js} +3 -3
  7. package/dist/{chunk-MB5FBQSM.js → chunk-OUNXLX2Q.js} +2239 -1279
  8. package/dist/{chunk-TFPDVY7G.cjs → chunk-WNAFE6OS.cjs} +2239 -1279
  9. package/dist/cli.cjs +45 -17
  10. package/dist/cli.js +42 -14
  11. package/dist/index.cjs +6 -2
  12. package/dist/index.d.cts +46 -15
  13. package/dist/index.d.ts +46 -15
  14. package/dist/index.js +5 -1
  15. package/dist/node.cjs +3 -3
  16. package/dist/node.d.cts +3 -3
  17. package/dist/node.d.ts +3 -3
  18. package/dist/node.js +2 -2
  19. package/llms.txt +17 -13
  20. package/package.json +3 -2
  21. package/react-native.js +318 -317
  22. package/logos/png/00075847.png +0 -0
  23. package/logos/png/00694389.png +0 -0
  24. package/logos/png/00694877.png +0 -0
  25. package/logos/png/00804046.png +0 -0
  26. package/logos/png/00815319.png +0 -0
  27. package/logos/png/00952415.png +0 -0
  28. package/logos/png/00968602.png +0 -0
  29. package/logos/png/00971300.png +0 -0
  30. package/logos/png/01039011.png +0 -0
  31. package/logos/png/01155801.png +0 -0
  32. package/logos/png/01205736.png +0 -0
  33. package/logos/png/01259518.png +0 -0
  34. package/logos/png/01526924.png +0 -0
  35. package/logos/png/01604998.png +0 -0
  36. package/logos/png/01635462.png +0 -0
  37. package/logos/png/01644264.png +0 -0
  38. package/logos/png/01667352.png +0 -0
  39. package/logos/png/01667766.png +0 -0
  40. package/logos/png/01705236.png +0 -0
  41. package/logos/png/01727929.png +0 -0
  42. package/logos/png/02015588.png +0 -0
  43. package/logos/png/02057584.png +0 -0
  44. package/logos/png/02072790.png +0 -0
  45. package/logos/png/02090126.png +0 -0
  46. package/logos/png/02179673.png +0 -0
  47. package/logos/png/02254376.png +0 -0
  48. package/logos/png/02275781.png +0 -0
  49. package/logos/png/02282165.png +0 -0
  50. package/logos/png/02382755.png +0 -0
  51. package/logos/png/02446089.png +0 -0
  52. package/logos/png/02447120.png +0 -0
  53. package/logos/png/02448310.png +0 -0
  54. package/logos/png/02448839.png +0 -0
  55. package/logos/png/02466552.png +0 -0
  56. package/logos/png/02493000.png +0 -0
  57. package/logos/png/02528151.png +0 -0
  58. package/logos/png/02663426.png +0 -0
  59. package/logos/png/02766672.png +0 -0
  60. package/logos/png/02794761.png +0 -0
  61. package/logos/png/02833202.png +0 -0
  62. package/logos/png/02844024.png +0 -0
  63. package/logos/png/02876918.png +0 -0
  64. package/logos/png/02904125.png +0 -0
  65. package/logos/png/02904138.png +0 -0
  66. package/logos/png/02910987.png +0 -0
  67. package/logos/png/02923389.png +0 -0
  68. package/logos/png/02924977.png +0 -0
  69. package/logos/png/02931668.png +0 -0
  70. package/logos/png/02934201.png +0 -0
  71. package/logos/png/02935307.png +0 -0
  72. package/logos/png/03000142.png +0 -0
  73. package/logos/png/03015152.png +0 -0
  74. package/logos/png/03042597.png +0 -0
  75. package/logos/png/03065046.png +0 -0
  76. package/logos/png/03102185.png +0 -0
  77. package/logos/png/03212823.png +0 -0
  78. package/logos/png/03320525.png +0 -0
  79. package/logos/png/03358914.png +0 -0
  80. package/logos/png/03428338.png +0 -0
  81. package/logos/png/03459850.png +0 -0
  82. package/logos/png/03485130.png +0 -0
  83. package/logos/png/03535065.png +0 -0
  84. package/logos/png/03566655.png +0 -0
  85. package/logos/png/03603683.png +0 -0
  86. package/logos/png/03620772.png +0 -0
  87. package/logos/png/03632872.png +0 -0
  88. package/logos/png/03662047.png +0 -0
  89. package/logos/png/03732359.png +0 -0
  90. package/logos/png/03750034.png +0 -0
  91. package/logos/png/03793242.png +0 -0
  92. package/logos/png/03862898.png +0 -0
  93. package/logos/png/03965737.png +0 -0
  94. package/logos/png/04013172.png +0 -0
  95. package/logos/png/04079285.png +0 -0
  96. package/logos/png/04120633.png +0 -0
  97. package/logos/png/04174720.png +0 -0
  98. package/logos/png/04237413.png +0 -0
  99. package/logos/png/04243780.png +0 -0
  100. package/logos/png/04261151.png +0 -0
  101. package/logos/png/04321309.png +0 -0
  102. package/logos/png/04350225.png +0 -0
  103. package/logos/png/04355489.png +0 -0
  104. package/logos/png/04388688.png +0 -0
  105. package/logos/png/04445917.png +0 -0
  106. package/logos/png/04463602.png +0 -0
  107. package/logos/png/04484490.png +0 -0
  108. package/logos/png/04490531.png +0 -0
  109. package/logos/png/04525997.png +0 -0
  110. package/logos/png/04529074.png +0 -0
  111. package/logos/png/04565791.png +0 -0
  112. package/logos/png/04649337.png +0 -0
  113. package/logos/png/04715685.png +0 -0
  114. package/logos/png/04751713.png +0 -0
  115. package/logos/png/04833655.png +0 -0
  116. package/logos/png/04853988.png +0 -0
  117. package/logos/png/04886317.png +0 -0
  118. package/logos/png/05036532.png +0 -0
  119. package/logos/png/05070112.png +0 -0
  120. package/logos/png/05203605.png +0 -0
  121. package/logos/png/05220243.png +0 -0
  122. package/logos/png/05222094.png +0 -0
  123. package/logos/png/05231945.png +0 -0
  124. package/logos/png/05241145.png +0 -0
  125. package/logos/png/05241619.png +0 -0
  126. package/logos/png/05247312.png +0 -0
  127. package/logos/png/05269976.png +0 -0
  128. package/logos/png/05276770.png +0 -0
  129. package/logos/png/05277312.png +0 -0
  130. package/logos/png/05410056.png +0 -0
  131. package/logos/png/05425526.png +0 -0
  132. package/logos/png/05477038.png +0 -0
  133. package/logos/png/05494591.png +0 -0
  134. package/logos/png/05545390.png +0 -0
  135. package/logos/png/05582619.png +0 -0
  136. package/logos/png/05856736.png +0 -0
  137. package/logos/png/05863726.png +0 -0
  138. package/logos/png/05983995.png +0 -0
  139. package/logos/png/06031727.png +0 -0
  140. package/logos/png/06078926.png +0 -0
  141. package/logos/png/06126780.png +0 -0
  142. package/logos/png/06139650.png +0 -0
  143. package/logos/png/06174009.png +0 -0
  144. package/logos/png/06332931.png +0 -0
  145. package/logos/png/07026923.png +0 -0
  146. package/logos/png/07070495.png +0 -0
  147. package/logos/png/07097064.png +0 -0
  148. package/logos/png/07122321.png +0 -0
  149. package/logos/png/07194313.png +0 -0
  150. package/logos/png/07206072.png +0 -0
  151. package/logos/png/07215632.png +0 -0
  152. package/logos/png/07252614.png +0 -0
  153. package/logos/png/07268499.png +0 -0
  154. package/logos/png/07318874.png +0 -0
  155. package/logos/png/07320890.png +0 -0
  156. package/logos/png/07412987.png +0 -0
  157. package/logos/png/07465539.png +0 -0
  158. package/logos/png/07509426.png +0 -0
  159. package/logos/png/07512780.png +0 -0
  160. package/logos/png/07669921.png +0 -0
  161. package/logos/png/07925729.png +0 -0
  162. package/logos/png/07946216.png +0 -0
  163. package/logos/png/07946451.png +0 -0
  164. package/logos/png/07958405.png +0 -0
  165. package/logos/png/08041950.png +0 -0
  166. package/logos/png/08044854.png +0 -0
  167. package/logos/png/08055016.png +0 -0
  168. package/logos/png/08071414.png +0 -0
  169. package/logos/png/08488377.png +0 -0
  170. package/logos/png/08560508.png +0 -0
  171. package/logos/png/08624548.png +0 -0
  172. package/logos/png/08742188.png +0 -0
  173. package/logos/png/08795285.png +0 -0
  174. package/logos/png/08844074.png +0 -0
  175. package/logos/png/09004796.png +0 -0
  176. package/logos/png/09330158.png +0 -0
  177. package/logos/png/09343038.png +0 -0
  178. package/logos/png/09403026.png +0 -0
  179. package/logos/png/09424988.png +0 -0
  180. package/logos/png/09463721.png +0 -0
  181. package/logos/png/09488496.png +0 -0
  182. package/logos/png/10262276.png +0 -0
  183. package/logos/png/10348181.png +0 -0
  184. package/logos/png/10520232.png +0 -0
  185. package/logos/png/10736214.png +0 -0
  186. package/logos/png/11907520.png +0 -0
  187. package/logos/png/11969853.png +0 -0
  188. package/logos/png/14568725.png +0 -0
  189. package/logos/png/14913919.png +0 -0
  190. package/logos/png/16564240.png +0 -0
  191. package/logos/png/17343510.png +0 -0
  192. package/logos/png/19875244.png +0 -0
  193. package/logos/png/19962468.png +0 -0
  194. package/logos/png/21797311.png +0 -0
  195. package/logos/png/23623636.png +0 -0
  196. package/logos/png/24431221.png +0 -0
  197. package/logos/png/24610065.png +0 -0
  198. package/logos/png/24654881.png +0 -0
  199. package/logos/png/25363615.png +0 -0
  200. package/logos/png/25387655.png +0 -0
  201. package/logos/png/25420696.png +0 -0
  202. package/logos/png/26191078.png +0 -0
  203. package/logos/png/26408161.png +0 -0
  204. package/logos/png/26526166.png +0 -0
  205. package/logos/png/26529420.png +0 -0
  206. package/logos/png/26549311.png +0 -0
  207. package/logos/png/26555235.png +0 -0
  208. package/logos/png/31804966.png +0 -0
  209. package/logos/png/32428294.png +0 -0
  210. package/logos/png/32430233.png +0 -0
  211. package/logos/png/32467086.png +0 -0
  212. package/logos/png/32474884.png +0 -0
  213. package/logos/png/32615247.png +0 -0
  214. package/logos/png/32983165.png +0 -0
  215. package/logos/png/32995755.png +0 -0
  216. package/logos/png/33021064.png +0 -0
  217. package/logos/png/33022690.png +0 -0
  218. package/logos/png/33416108.png +0 -0
  219. package/logos/png/33924028.png +0 -0
  220. package/logos/png/34148882.png +0 -0
  221. package/logos/png/35571249.png +0 -0
  222. package/logos/png/36900256.png +0 -0
  223. package/logos/png/37076205.png +0 -0
  224. package/logos/png/37079720.png +0 -0
  225. package/logos/png/37255049.png +0 -0
  226. package/logos/png/37442605.png +0 -0
  227. package/logos/png/41180092.png +0 -0
  228. package/logos/png/41255225.png +0 -0
  229. package/logos/png/41697103.png +0 -0
  230. package/logos/png/41931221.png +0 -0
  231. package/logos/png/42880617.png +0 -0
  232. package/logos/png/42887133.png +0 -0
  233. package/logos/png/44469161.png +0 -0
  234. package/logos/png/46642294.png +0 -0
  235. package/logos/png/47074323.png +0 -0
  236. package/logos/png/50735161.png +0 -0
  237. package/logos/png/53575491.png +0 -0
  238. package/logos/png/53935029.png +0 -0
  239. package/logos/png/54190525.png +0 -0
  240. package/logos/png/59869560.png +0 -0
  241. package/logos/png/62673470.png +0 -0
  242. package/logos/png/64276058.png +0 -0
  243. package/logos/png/64480833.png +0 -0
  244. package/logos/png/64739121.png +0 -0
  245. package/logos/png/69346856.png +0 -0
  246. package/logos/png/70038237.png +0 -0
  247. package/logos/png/70116611.png +0 -0
  248. package/logos/png/70241658.png +0 -0
  249. package/logos/png/70431630.png +0 -0
  250. package/logos/png/70937271.png +0 -0
  251. package/logos/png/71154876.png +0 -0
  252. package/logos/png/71163315.png +0 -0
  253. package/logos/png/71207740.png +0 -0
  254. package/logos/png/71237184.png +0 -0
  255. package/logos/png/71297899.png +0 -0
  256. package/logos/png/71328769.png +0 -0
  257. package/logos/png/71336432.png +0 -0
  258. package/logos/png/71418784.png +0 -0
  259. package/logos/png/71506513.png +0 -0
  260. package/logos/png/71698674.png +0 -0
  261. package/logos/png/71884498.png +0 -0
  262. package/logos/png/72128440.png +0 -0
  263. package/logos/png/72257793.png +0 -0
  264. package/logos/png/73113243.png +0 -0
  265. package/logos/png/73326449.png +0 -0
  266. package/logos/png/73398646.png +0 -0
  267. package/logos/png/73443863.png +0 -0
  268. package/logos/png/73750424.png +0 -0
  269. package/logos/png/74064502.png +0 -0
  270. package/logos/png/74114042.png +0 -0
  271. package/logos/png/76059997.png +0 -0
  272. package/logos/png/77984870.png +0 -0
  273. package/logos/png/78414067.png +0 -0
  274. package/logos/png/78825270.png +0 -0
  275. package/logos/png/78840071.png +0 -0
  276. package/logos/png/78858107.png +0 -0
  277. package/logos/png/78907607.png +0 -0
  278. package/logos/png/79052122.png +0 -0
  279. package/logos/png/79063574.png +0 -0
  280. package/logos/png/79086997.png +0 -0
  281. package/logos/png/79342069.png +0 -0
  282. package/logos/png/79457883.png +0 -0
  283. package/logos/png/80160260.png +0 -0
  284. package/logos/png/81014060.png +0 -0
  285. package/logos/png/81054686.png +0 -0
  286. package/logos/png/81099491.png +0 -0
  287. package/logos/png/81115149.png +0 -0
  288. package/logos/png/81192106.png +0 -0
  289. package/logos/png/81206039.png +0 -0
  290. package/logos/png/81292278.png +0 -0
  291. package/logos/png/81466286.png +0 -0
  292. package/logos/png/81706616.png +0 -0
  293. package/logos/png/82065285.png +0 -0
  294. package/logos/png/82133182.png +0 -0
  295. package/logos/png/82527557.png +0 -0
  296. package/logos/png/83836114.png +0 -0
  297. package/logos/png/84974278.png +0 -0
  298. package/logos/png/86389236.png +0 -0
  299. package/logos/png/86585049.png +0 -0
  300. package/logos/png/86791837.png +0 -0
  301. package/logos/png/87067757.png +0 -0
  302. package/logos/png/87510475.png +0 -0
  303. package/logos/png/87733077.png +0 -0
  304. package/logos/png/87779625.png +0 -0
  305. package/logos/png/87780268.png +0 -0
  306. package/logos/png/87780284.png +0 -0
  307. package/logos/png/87781530.png +0 -0
  308. package/logos/png/87784088.png +0 -0
  309. package/logos/png/87795639.png +0 -0
  310. package/logos/png/87853206.png +0 -0
  311. package/logos/png/87900411.png +0 -0
  312. package/logos/png/87900601.png +0 -0
  313. package/logos/png/88038260.png +0 -0
  314. package/logos/png/88099247.png +0 -0
  315. package/logos/png/88471024.png +0 -0
  316. package/logos/png/88530142.png +0 -0
  317. package/logos/png/88894548.png +0 -0
  318. package/logos/png/89049738.png +0 -0
  319. package/logos/png/89126130.png +0 -0
  320. package/logos/png/89468565.png +0 -0
  321. package/logos/png/89990501.png +0 -0
  322. package/logos/png/90497256.png +0 -0
  323. package/logos/png/90608712.png +0 -0
  324. package/logos/png/90729369.png +0 -0
  325. package/logos/png/91159764.png +0 -0
  326. package/logos/png/91586982.png +0 -0
  327. package/logos/png/92555150.png +0 -0
  328. package/logos/png/92796564.png +0 -0
  329. package/logos/png/94243839.png +0 -0
  330. package/logos/png/95163002.png +0 -0
  331. package/logos/png/95213211.png +0 -0
  332. package/logos/png/95424891.png +0 -0
  333. package/logos/png/95594941.png +0 -0
  334. package/logos/png/97489280.png +0 -0
  335. package/logos/svg/00075847.svg +0 -11
  336. package/logos/svg/00694389.svg +0 -5
  337. package/logos/svg/00694877.svg +0 -5
  338. package/logos/svg/00804046.svg +0 -5
  339. package/logos/svg/00815319.svg +0 -5
  340. package/logos/svg/00952415.svg +0 -5
  341. package/logos/svg/00968602.svg +0 -5
  342. package/logos/svg/00971300.svg +0 -25
  343. package/logos/svg/01039011.svg +0 -11
  344. package/logos/svg/01155801.svg +0 -25
  345. package/logos/svg/01205736.svg +0 -5
  346. package/logos/svg/01259518.svg +0 -5
  347. package/logos/svg/01526924.svg +0 -11
  348. package/logos/svg/01604998.svg +0 -5
  349. package/logos/svg/01635462.svg +0 -11
  350. package/logos/svg/01644264.svg +0 -5
  351. package/logos/svg/01667352.svg +0 -5
  352. package/logos/svg/01667766.svg +0 -5
  353. package/logos/svg/01705236.svg +0 -11
  354. package/logos/svg/01727929.svg +0 -11
  355. package/logos/svg/02015588.svg +0 -5
  356. package/logos/svg/02057584.svg +0 -5
  357. package/logos/svg/02072790.svg +0 -5
  358. package/logos/svg/02090126.svg +0 -5
  359. package/logos/svg/02179673.svg +0 -5
  360. package/logos/svg/02254376.svg +0 -5
  361. package/logos/svg/02275781.svg +0 -5
  362. package/logos/svg/02282165.svg +0 -5
  363. package/logos/svg/02382755.svg +0 -5
  364. package/logos/svg/02446089.svg +0 -25
  365. package/logos/svg/02447120.svg +0 -5
  366. package/logos/svg/02448310.svg +0 -25
  367. package/logos/svg/02448839.svg +0 -5
  368. package/logos/svg/02466552.svg +0 -5
  369. package/logos/svg/02493000.svg +0 -5
  370. package/logos/svg/02528151.svg +0 -5
  371. package/logos/svg/02663426.svg +0 -25
  372. package/logos/svg/02766672.svg +0 -25
  373. package/logos/svg/02794761.svg +0 -5
  374. package/logos/svg/02833202.svg +0 -11
  375. package/logos/svg/02844024.svg +0 -25
  376. package/logos/svg/02876918.svg +0 -5
  377. package/logos/svg/02904125.svg +0 -25
  378. package/logos/svg/02904138.svg +0 -25
  379. package/logos/svg/02910987.svg +0 -25
  380. package/logos/svg/02923389.svg +0 -24
  381. package/logos/svg/02924977.svg +0 -24
  382. package/logos/svg/02931668.svg +0 -5
  383. package/logos/svg/02934201.svg +0 -25
  384. package/logos/svg/02935307.svg +0 -5
  385. package/logos/svg/03000142.svg +0 -24
  386. package/logos/svg/03015152.svg +0 -25
  387. package/logos/svg/03042597.svg +0 -24
  388. package/logos/svg/03065046.svg +0 -24
  389. package/logos/svg/03102185.svg +0 -5
  390. package/logos/svg/03212823.svg +0 -24
  391. package/logos/svg/03320525.svg +0 -5
  392. package/logos/svg/03358914.svg +0 -5
  393. package/logos/svg/03428338.svg +0 -5
  394. package/logos/svg/03459850.svg +0 -5
  395. package/logos/svg/03485130.svg +0 -25
  396. package/logos/svg/03535065.svg +0 -5
  397. package/logos/svg/03566655.svg +0 -24
  398. package/logos/svg/03603683.svg +0 -5
  399. package/logos/svg/03620772.svg +0 -5
  400. package/logos/svg/03632872.svg +0 -5
  401. package/logos/svg/03662047.svg +0 -24
  402. package/logos/svg/03732359.svg +0 -5
  403. package/logos/svg/03750034.svg +0 -24
  404. package/logos/svg/03793242.svg +0 -24
  405. package/logos/svg/03862898.svg +0 -5
  406. package/logos/svg/03965737.svg +0 -25
  407. package/logos/svg/04013172.svg +0 -5
  408. package/logos/svg/04079285.svg +0 -5
  409. package/logos/svg/04120633.svg +0 -5
  410. package/logos/svg/04174720.svg +0 -5
  411. package/logos/svg/04237413.svg +0 -24
  412. package/logos/svg/04243780.svg +0 -5
  413. package/logos/svg/04261151.svg +0 -25
  414. package/logos/svg/04321309.svg +0 -5
  415. package/logos/svg/04350225.svg +0 -25
  416. package/logos/svg/04355489.svg +0 -11
  417. package/logos/svg/04388688.svg +0 -5
  418. package/logos/svg/04445917.svg +0 -11
  419. package/logos/svg/04463602.svg +0 -24
  420. package/logos/svg/04484490.svg +0 -24
  421. package/logos/svg/04490531.svg +0 -25
  422. package/logos/svg/04525997.svg +0 -24
  423. package/logos/svg/04529074.svg +0 -5
  424. package/logos/svg/04565791.svg +0 -25
  425. package/logos/svg/04649337.svg +0 -5
  426. package/logos/svg/04715685.svg +0 -5
  427. package/logos/svg/04751713.svg +0 -5
  428. package/logos/svg/04833655.svg +0 -5
  429. package/logos/svg/04853988.svg +0 -24
  430. package/logos/svg/04886317.svg +0 -24
  431. package/logos/svg/05036532.svg +0 -5
  432. package/logos/svg/05070112.svg +0 -25
  433. package/logos/svg/05203605.svg +0 -5
  434. package/logos/svg/05220243.svg +0 -25
  435. package/logos/svg/05222094.svg +0 -5
  436. package/logos/svg/05231945.svg +0 -25
  437. package/logos/svg/05241145.svg +0 -25
  438. package/logos/svg/05241619.svg +0 -5
  439. package/logos/svg/05247312.svg +0 -5
  440. package/logos/svg/05269976.svg +0 -25
  441. package/logos/svg/05276770.svg +0 -25
  442. package/logos/svg/05277312.svg +0 -25
  443. package/logos/svg/05410056.svg +0 -25
  444. package/logos/svg/05425526.svg +0 -25
  445. package/logos/svg/05477038.svg +0 -5
  446. package/logos/svg/05494591.svg +0 -25
  447. package/logos/svg/05545390.svg +0 -24
  448. package/logos/svg/05582619.svg +0 -5
  449. package/logos/svg/05856736.svg +0 -5
  450. package/logos/svg/05863726.svg +0 -25
  451. package/logos/svg/05983995.svg +0 -25
  452. package/logos/svg/06031727.svg +0 -25
  453. package/logos/svg/06078926.svg +0 -24
  454. package/logos/svg/06126780.svg +0 -25
  455. package/logos/svg/06139650.svg +0 -25
  456. package/logos/svg/06174009.svg +0 -5
  457. package/logos/svg/06332931.svg +0 -24
  458. package/logos/svg/07026923.svg +0 -5
  459. package/logos/svg/07070495.svg +0 -24
  460. package/logos/svg/07097064.svg +0 -5
  461. package/logos/svg/07122321.svg +0 -5
  462. package/logos/svg/07194313.svg +0 -5
  463. package/logos/svg/07206072.svg +0 -24
  464. package/logos/svg/07215632.svg +0 -25
  465. package/logos/svg/07252614.svg +0 -25
  466. package/logos/svg/07268499.svg +0 -25
  467. package/logos/svg/07318874.svg +0 -5
  468. package/logos/svg/07320890.svg +0 -25
  469. package/logos/svg/07412987.svg +0 -25
  470. package/logos/svg/07465539.svg +0 -25
  471. package/logos/svg/07509426.svg +0 -25
  472. package/logos/svg/07512780.svg +0 -25
  473. package/logos/svg/07669921.svg +0 -5
  474. package/logos/svg/07925729.svg +0 -25
  475. package/logos/svg/07946216.svg +0 -5
  476. package/logos/svg/07946451.svg +0 -25
  477. package/logos/svg/07958405.svg +0 -25
  478. package/logos/svg/08041950.svg +0 -24
  479. package/logos/svg/08044854.svg +0 -5
  480. package/logos/svg/08055016.svg +0 -25
  481. package/logos/svg/08071414.svg +0 -5
  482. package/logos/svg/08488377.svg +0 -25
  483. package/logos/svg/08560508.svg +0 -25
  484. package/logos/svg/08624548.svg +0 -25
  485. package/logos/svg/08742188.svg +0 -5
  486. package/logos/svg/08795285.svg +0 -5
  487. package/logos/svg/08844074.svg +0 -5
  488. package/logos/svg/09004796.svg +0 -5
  489. package/logos/svg/09330158.svg +0 -25
  490. package/logos/svg/09343038.svg +0 -24
  491. package/logos/svg/09403026.svg +0 -5
  492. package/logos/svg/09424988.svg +0 -5
  493. package/logos/svg/09463721.svg +0 -25
  494. package/logos/svg/09488496.svg +0 -25
  495. package/logos/svg/10262276.svg +0 -5
  496. package/logos/svg/10348181.svg +0 -24
  497. package/logos/svg/10520232.svg +0 -25
  498. package/logos/svg/10736214.svg +0 -24
  499. package/logos/svg/11907520.svg +0 -5
  500. package/logos/svg/11969853.svg +0 -25
  501. package/logos/svg/14568725.svg +0 -5
  502. package/logos/svg/14913919.svg +0 -5
  503. package/logos/svg/16564240.svg +0 -5
  504. package/logos/svg/17343510.svg +0 -25
  505. package/logos/svg/19875244.svg +0 -5
  506. package/logos/svg/19962468.svg +0 -24
  507. package/logos/svg/21797311.svg +0 -5
  508. package/logos/svg/23623636.svg +0 -5
  509. package/logos/svg/24431221.svg +0 -25
  510. package/logos/svg/24610065.svg +0 -5
  511. package/logos/svg/24654881.svg +0 -24
  512. package/logos/svg/25363615.svg +0 -5
  513. package/logos/svg/25387655.svg +0 -5
  514. package/logos/svg/25420696.svg +0 -5
  515. package/logos/svg/26191078.svg +0 -24
  516. package/logos/svg/26408161.svg +0 -24
  517. package/logos/svg/26526166.svg +0 -5
  518. package/logos/svg/26529420.svg +0 -24
  519. package/logos/svg/26549311.svg +0 -24
  520. package/logos/svg/26555235.svg +0 -24
  521. package/logos/svg/31804966.svg +0 -5
  522. package/logos/svg/32428294.svg +0 -5
  523. package/logos/svg/32430233.svg +0 -5
  524. package/logos/svg/32467086.svg +0 -5
  525. package/logos/svg/32474884.svg +0 -5
  526. package/logos/svg/32615247.svg +0 -5
  527. package/logos/svg/32983165.svg +0 -24
  528. package/logos/svg/32995755.svg +0 -24
  529. package/logos/svg/33021064.svg +0 -24
  530. package/logos/svg/33022690.svg +0 -24
  531. package/logos/svg/33416108.svg +0 -5
  532. package/logos/svg/33924028.svg +0 -5
  533. package/logos/svg/34148882.svg +0 -5
  534. package/logos/svg/35571249.svg +0 -24
  535. package/logos/svg/36900256.svg +0 -11
  536. package/logos/svg/37076205.svg +0 -5
  537. package/logos/svg/37079720.svg +0 -5
  538. package/logos/svg/37255049.svg +0 -5
  539. package/logos/svg/37442605.svg +0 -24
  540. package/logos/svg/41180092.svg +0 -24
  541. package/logos/svg/41255225.svg +0 -24
  542. package/logos/svg/41697103.svg +0 -5
  543. package/logos/svg/41931221.svg +0 -5
  544. package/logos/svg/42880617.svg +0 -5
  545. package/logos/svg/42887133.svg +0 -5
  546. package/logos/svg/44469161.svg +0 -5
  547. package/logos/svg/46642294.svg +0 -5
  548. package/logos/svg/47074323.svg +0 -5
  549. package/logos/svg/50735161.svg +0 -25
  550. package/logos/svg/53575491.svg +0 -25
  551. package/logos/svg/53935029.svg +0 -5
  552. package/logos/svg/54190525.svg +0 -5
  553. package/logos/svg/59869560.svg +0 -5
  554. package/logos/svg/62673470.svg +0 -5
  555. package/logos/svg/64276058.svg +0 -5
  556. package/logos/svg/64480833.svg +0 -5
  557. package/logos/svg/64739121.svg +0 -5
  558. package/logos/svg/69346856.svg +0 -5
  559. package/logos/svg/70038237.svg +0 -24
  560. package/logos/svg/70116611.svg +0 -5
  561. package/logos/svg/70241658.svg +0 -24
  562. package/logos/svg/70431630.svg +0 -24
  563. package/logos/svg/70937271.svg +0 -11
  564. package/logos/svg/71154876.svg +0 -5
  565. package/logos/svg/71163315.svg +0 -11
  566. package/logos/svg/71207740.svg +0 -5
  567. package/logos/svg/71237184.svg +0 -5
  568. package/logos/svg/71297899.svg +0 -5
  569. package/logos/svg/71328769.svg +0 -5
  570. package/logos/svg/71336432.svg +0 -5
  571. package/logos/svg/71418784.svg +0 -11
  572. package/logos/svg/71506513.svg +0 -5
  573. package/logos/svg/71698674.svg +0 -5
  574. package/logos/svg/71884498.svg +0 -11
  575. package/logos/svg/72128440.svg +0 -24
  576. package/logos/svg/72257793.svg +0 -24
  577. package/logos/svg/73113243.svg +0 -24
  578. package/logos/svg/73326449.svg +0 -5
  579. package/logos/svg/73398646.svg +0 -5
  580. package/logos/svg/73443863.svg +0 -11
  581. package/logos/svg/73750424.svg +0 -11
  582. package/logos/svg/74064502.svg +0 -11
  583. package/logos/svg/74114042.svg +0 -11
  584. package/logos/svg/76059997.svg +0 -24
  585. package/logos/svg/77984870.svg +0 -24
  586. package/logos/svg/78414067.svg +0 -24
  587. package/logos/svg/78825270.svg +0 -5
  588. package/logos/svg/78840071.svg +0 -5
  589. package/logos/svg/78858107.svg +0 -5
  590. package/logos/svg/78907607.svg +0 -24
  591. package/logos/svg/79052122.svg +0 -24
  592. package/logos/svg/79063574.svg +0 -24
  593. package/logos/svg/79086997.svg +0 -24
  594. package/logos/svg/79342069.svg +0 -24
  595. package/logos/svg/79457883.svg +0 -24
  596. package/logos/svg/80160260.svg +0 -5
  597. package/logos/svg/81014060.svg +0 -5
  598. package/logos/svg/81054686.svg +0 -24
  599. package/logos/svg/81099491.svg +0 -24
  600. package/logos/svg/81115149.svg +0 -24
  601. package/logos/svg/81192106.svg +0 -24
  602. package/logos/svg/81206039.svg +0 -24
  603. package/logos/svg/81292278.svg +0 -5
  604. package/logos/svg/81466286.svg +0 -24
  605. package/logos/svg/81706616.svg +0 -24
  606. package/logos/svg/82065285.svg +0 -24
  607. package/logos/svg/82133182.svg +0 -5
  608. package/logos/svg/82527557.svg +0 -24
  609. package/logos/svg/83836114.svg +0 -5
  610. package/logos/svg/84974278.svg +0 -24
  611. package/logos/svg/86389236.svg +0 -5
  612. package/logos/svg/86585049.svg +0 -5
  613. package/logos/svg/86791837.svg +0 -5
  614. package/logos/svg/87067757.svg +0 -24
  615. package/logos/svg/87510475.svg +0 -24
  616. package/logos/svg/87733077.svg +0 -24
  617. package/logos/svg/87779625.svg +0 -24
  618. package/logos/svg/87780268.svg +0 -24
  619. package/logos/svg/87780284.svg +0 -24
  620. package/logos/svg/87781530.svg +0 -24
  621. package/logos/svg/87784088.svg +0 -24
  622. package/logos/svg/87795639.svg +0 -24
  623. package/logos/svg/87853206.svg +0 -24
  624. package/logos/svg/87900411.svg +0 -24
  625. package/logos/svg/87900601.svg +0 -24
  626. package/logos/svg/88038260.svg +0 -24
  627. package/logos/svg/88099247.svg +0 -24
  628. package/logos/svg/88471024.svg +0 -24
  629. package/logos/svg/88530142.svg +0 -24
  630. package/logos/svg/88894548.svg +0 -24
  631. package/logos/svg/89049738.svg +0 -24
  632. package/logos/svg/89126130.svg +0 -24
  633. package/logos/svg/89468565.svg +0 -24
  634. package/logos/svg/89990501.svg +0 -24
  635. package/logos/svg/90497256.svg +0 -24
  636. package/logos/svg/90608712.svg +0 -24
  637. package/logos/svg/90729369.svg +0 -24
  638. package/logos/svg/91159764.svg +0 -24
  639. package/logos/svg/91586982.svg +0 -24
  640. package/logos/svg/92555150.svg +0 -24
  641. package/logos/svg/92796564.svg +0 -24
  642. package/logos/svg/94243839.svg +0 -11
  643. package/logos/svg/95163002.svg +0 -11
  644. package/logos/svg/95213211.svg +0 -24
  645. package/logos/svg/95424891.svg +0 -24
  646. package/logos/svg/95594941.svg +0 -24
  647. package/logos/svg/97489280.svg +0 -24
  648. /package/logos/png/{02843443.png → 03795072.png} +0 -0
  649. /package/logos/png/{00259231.png → 04891850.png} +0 -0
  650. /package/logos/svg/{02843443.svg → 03795072.svg} +0 -0
  651. /package/logos/svg/{00259231.svg → 04891850.svg} +0 -0
package/README.en.md CHANGED
@@ -30,30 +30,32 @@
30
30
 
31
31
  ## What this package gives you
32
32
 
33
- 1. **The list of institutions — auto-updated.** The union, keyed by ISPB, of two Central Bank
34
- lists: STR participants (every institution with a COMPE code, currently 470) and **active Pix
35
- participants** (currently ~880, ~640 of which have no COMPE — fintechs, payment institutions,
36
- credit unions). **1,113 institutions** in [`data/bancos.json`](data/bancos.json), with
37
- official names, COMPE (when it exists), ISPB and Pix participation attributes.
38
- 2. **Official logos.** Currently **473**, as 256×256 PNGs (+ SVG when available), from two
39
- origins — both official and identified in the dataset (`logo.source.type`): the public **Open
40
- Finance Brasil** directory (`openfinance`) and the **institution's own official website**
41
- (`direct-uri`), visually curated before shipping. Affiliates of single-brand cooperative
42
- systems (Sicoob, Sicredi, Cresol, Unicred) get the system's logo via a curated brand rule.
43
- Every file carries provenance: source URI, SHA-256 and date.
44
- 3. **Automatic updates, no manual curation.** Every Monday a GitHub Action
45
- ([`update-logos.yml`](.github/workflows/update-logos.yml)) rebuilds **both the list AND the
46
- logos** from the sources and opens a PR with the visual diff. A bank created, renamed or
47
- closed by the Central Bank? An institution rebranded? It lands in that week's update.
33
+ 1. **The list of institutions — auto-updated, in two sets.** The **main list**
34
+ ([`data/bancos.json`](data/bancos.json)) carries the **470 institutions with a COMPE code**
35
+ from the Central Bank STR participants list. The **643 Pix-only institutions** (fintechs,
36
+ payment institutions, cooperative affiliates — no COMPE) live in a separate dataset
37
+ ([`data/instituicoes-pix.json`](data/instituicoes-pix.json)), keeping the main list lean.
38
+ Both carry official names, ISPB, CNPJ (Pix-only) and Pix participation attributes.
39
+ 2. **Official logos, deduplicated.** **473 institutions with a logo** backed by **160 distinct
40
+ files** (~1.7 MB): affiliates of single-brand cooperative systems (Sicoob, Sicredi, Cresol,
41
+ Unicred) **share one file per system**, marked `logo.source.type: "brand"`. Own logos come
42
+ from the public **Open Finance Brasil** directory (`openfinance`) or the **institution's own
43
+ official website** (`direct-uri`, visually curated). Every file carries provenance: source
44
+ URI, SHA-256 and date.
45
+ 3. **Automatic updates, from the Central Bank to npm.** Every Monday a GitHub Action
46
+ ([`update-logos.yml`](.github/workflows/update-logos.yml)) rebuilds the list and the logos
47
+ from the sources. **Data-only changes** (additions, renames and removals made by the Central
48
+ Bank) are validated by tests, merged and **published to npm automatically**; any **logo
49
+ change** opens a PR with the visual diff for human review before publishing.
48
50
  4. **Works in any stack.** JavaScript/TypeScript API, a ready-made React Native map, a CLI that
49
51
  copies the assets into Flutter/Kotlin/Swift/.NET/PHP projects, CDN URLs with no install — or
50
52
  just the JSON.
51
53
 
52
- ## Why not a hand-maintained list?
54
+ ## Why official sources?
53
55
 
54
- Because it rots: the Central Bank adds, renames and removes institutions throughout the year,
55
- and banks redesign their brands. Existing libraries ship either **data only** (no logos) or
56
- logos **hand-collected** from assorted websites with no traceability. The approach here:
56
+ Hand-maintained lists rot: the Central Bank adds, renames and removes institutions throughout
57
+ the year, and banks redesign their brands. Existing libraries ship either **data only** (no
58
+ logos) or logos **collected from assorted websites** with no traceability. The approach here:
57
59
 
58
60
  - **Official sources, and only them** — the STR and Pix participants CSVs (updated daily by the
59
61
  Central Bank itself), the Open Finance Brasil participants directory and, for non-participants,
@@ -72,6 +74,19 @@ logos **hand-collected** from assorted websites with no traceability. The approa
72
74
  majority of accounts in Brazil). The rest are small SCDs/brokers/payment institutions — your
73
75
  app picks the fallback, and coverage grows every release.
74
76
 
77
+ ### The sources, for verification
78
+
79
+ The same public endpoints the pipeline consumes — anyone can check them:
80
+
81
+ | Source | Publisher | Provides | Link |
82
+ |---|---|---|---|
83
+ | STR participants list | Central Bank of Brazil | ISPB, COMPE code and official names (main list) | [page](https://www.bcb.gov.br/estabilidadefinanceira/participantesstr) · [CSV](https://www.bcb.gov.br/content/estabilidadefinanceira/str1/ParticipantesSTR.csv) |
84
+ | Active Pix participants list | Central Bank of Brazil | Pix institutions (incl. COMPE-less), CNPJ and participation attributes | [page](https://www.bcb.gov.br/estabilidadefinanceira/participantespix) (the daily CSV is linked there) |
85
+ | Participants directory | Open Finance Brasil | The logo each institution publishes, keyed by CNPJ | [public JSON](https://data.directory.openbankingbrasil.org.br/participants) |
86
+
87
+ Each logo's `logo.source.uri` in [`data/bancos.json`](data/bancos.json) points at the exact
88
+ file downloaded, with SHA-256 and date.
89
+
75
90
  ## Install & use
76
91
 
77
92
  ```bash
@@ -82,10 +97,10 @@ Requires **Node ≥ 20** for Node/CLI usage (web and React Native follow your bu
82
97
  environment). Zero runtime dependencies. Published with **npm provenance** — verify integrity
83
98
  with `npm audit signatures`.
84
99
 
85
- Files are named by **ISPB** (8 digits — which is what lets the ~640 COMPE-less Pix institutions
86
- in). Lookups accept **COMPE or ISPB**; Pix-only institutions have `compe: null` and are
87
- addressable by ISPB. Each bank carries a `pix` block (participation attributes, verbatim from
88
- the BCB list) or `null`.
100
+ Files are named by **ISPB** (8 digits). `banks()` is the main list (COMPE holders);
101
+ `pixInstitutions()` is the separate Pix-only set; `allInstitutions()` is both; `byIspb()`
102
+ resolves across the two. Each institution carries a `pix` block (participation attributes,
103
+ verbatim from the BCB list) or `null`.
89
104
 
90
105
  ```ts
91
106
  import { banks, byCompe, byIspb, logoCdnUrl } from 'logos-bancos-br';
@@ -95,8 +110,9 @@ byIspb('00000000'); // Banco do Brasil
95
110
  logoCdnUrl(341); // https://cdn.jsdelivr.net/npm/logos-bancos-br@x.y.z/logos/png/60701190.png
96
111
  ```
97
112
 
98
- **React Native (Expo/Metro)** — static require() map (bundles all logos, ~4 MB; keys accept both the
99
- 4-digit COMPE and the 8-digit ISPB — Pix-only institutions by ISPB only):
113
+ **React Native (Expo/Metro)** — static require() map (bundles the 160 distinct logos, ~1.7 MB; keys accept both
114
+ the 4-digit COMPE and the 8-digit ISPB — Pix-only institutions by ISPB only; affiliates point at
115
+ the shared system asset):
100
116
 
101
117
  ```tsx
102
118
  import logos from 'logos-bancos-br/react-native';
@@ -123,20 +139,23 @@ npx logos-bancos-br list
123
139
  https://cdn.jsdelivr.net/npm/logos-bancos-br@0.3.0/logos/png/60701190.png
124
140
  ```
125
141
 
126
- **Data only** (the bank list):
142
+ **Data only**:
127
143
 
128
144
  ```ts
129
- import data from 'logos-bancos-br/data/bancos.json';
145
+ import banks from 'logos-bancos-br/data/bancos.json'; // main list (COMPE)
146
+ import pixOnly from 'logos-bancos-br/data/instituicoes-pix.json'; // Pix-only
130
147
  ```
131
148
 
132
149
  ### API quick reference
133
150
 
134
151
  | Import | Function | Returns |
135
152
  |---|---|---|
136
- | `logos-bancos-br` | `banks()` | every institution (`Bank[]`) |
153
+ | `logos-bancos-br` | `banks()` | main list — COMPE institutions (`Bank[]`) |
154
+ | | `pixInstitutions()` | Pix-only set (`PixInstitution[]`) |
155
+ | | `allInstitutions()` | both sets (`Institution[]`) |
137
156
  | | `byCompe(code)` | `Bank \| undefined` — `341`, `'341'` and `'0341'` are equivalent |
138
- | | `byIspb(ispb)` | `Bank \| undefined` |
139
- | | `findBank(code)` | `Bank \| undefined` — more than 4 digits is treated as ISPB |
157
+ | | `byIspb(ispb)` | `Institution \| undefined` — resolves across both sets |
158
+ | | `findBank(code)` | `Institution \| undefined` — more than 4 digits is treated as ISPB |
140
159
  | | `logoCdnUrl(code, { format?, version? })` | jsDelivr URL, or `null` when there is no logo |
141
160
  | | `normalizeCompe(x)` · `normalizeIspb(x)` | `'0341'` · `'60701190'` |
142
161
  | | `version` | package version (string) |
@@ -144,7 +163,7 @@ import data from 'logos-bancos-br/data/bancos.json';
144
163
  | | `copyLogos({ dest, format?, by?, only? })` | copies assets into a directory (what the CLI uses) |
145
164
  | `logos-bancos-br/react-native` | `logos` (default export) | require() map keyed by COMPE4 **and** ISPB |
146
165
 
147
- Exported TypeScript types: `Bank`, `BankLogo`, `BankLogoSource`, `PixInfo`.
166
+ Exported TypeScript types: `Bank`, `PixInstitution`, `Institution`, `BankLogo`, `BankLogoSource`, `PixInfo`.
148
167
 
149
168
  ## Dataset shape
150
169
 
@@ -165,8 +184,10 @@ Exported TypeScript types: `Bank`, `BankLogo`, `BankLogoSource`, `PixInfo`.
165
184
  ```
166
185
 
167
186
  `logo.png` is a normalized transparent 256×256 PNG; `logo.svg` is the original vector when safely
168
- redistributable; `logo: null` means the institution has no logo in the official sources; `compe: null` marks a
169
- Pix-only institution (address it by ISPB); `pix: null` marks a non-Pix participant.
187
+ redistributable; `logo: null` means no logo in the official sources; `logo.source.type: "brand"`
188
+ marks a logo inherited from the institution's cooperative system (shared asset, `brand` says
189
+ which); `pix: null` marks a non-Pix participant. Pix-only records (separate dataset) always have
190
+ `compe: null`, a 14-digit `cnpj` and a `pix` block.
170
191
 
171
192
  ## How the auto-update works
172
193
 
@@ -179,8 +200,9 @@ discovery tools (`npm run discover` / `discover:ai`) find the icon published on
179
200
  official website — nothing ships without visual curation (brand + domain reviewed); approvals
180
201
  become `forcedUris` (`source.type: "direct-uri"`). The weekly workflow regenerates
181
202
  `data/bancos.json`, `logos/`, `PREVIEW.md` and `react-native.js` and opens a PR with the report
182
- and the visual PNG diff. After review and merge, the maintainer publishes a new version to npm
183
- (GitHub Release). Nothing is edited by hand. Maintenance details:
203
+ and the visual PNG diff. Data-only diffs are tested, merged and **released to npm
204
+ automatically**; diffs touching logos wait for human visual review — and the post-merge release
205
+ is automatic either way. Nothing is edited by hand. Maintenance details:
184
206
  [CONTRIBUTING.md](CONTRIBUTING.md).
185
207
 
186
208
  ## Trademarks
package/README.md CHANGED
@@ -30,31 +30,33 @@
30
30
 
31
31
  ## O que este pacote entrega
32
32
 
33
- 1. **A lista de instituições — atualizada automaticamente.** A união, por ISPB, de duas listas
34
- do **Banco Central**: participantes do STR (todas as instituições com código COMPE, hoje 470)
35
- e **participantes ativos do Pix** (hoje ~880, das quais ~640 não têm COMPE — fintechs, IPs e
36
- cooperativas). São **1.113 instituições** em [`data/bancos.json`](data/bancos.json), com nome
37
- oficial, nome reduzido, COMPE (quando existe), ISPB e os atributos de participação no Pix.
38
- Você nunca mais mantém uma lista de bancos à mão.
39
- 2. **Logos oficiais.** Hoje **473**, em PNG 256×256 (+ SVG quando disponível), de duas origens —
40
- ambas oficiais e identificadas no dataset (`logo.source.type`): o diretório público do
41
- **Open Finance Brasil** (`openfinance`), onde cada instituição publica a própria marca, e o
42
- **site oficial da própria instituição** (`direct-uri`), com curadoria visual antes de entrar.
43
- Afiliadas de sistemas cooperativos de marca única (Sicoob, Sicredi, Cresol, Unicred) recebem
44
- o logo do sistema por regra curada. Cada arquivo carrega proveniência: URI, SHA-256 e data.
45
- 3. **Atualização automática, sem curadoria manual.** Toda segunda-feira um GitHub Action
46
- ([`update-logos.yml`](.github/workflows/update-logos.yml)) reconstrói **a lista E os logos**
47
- a partir das fontes e abre um PR com o diff visual. Banco criado, renomeado ou extinto pelo
48
- BCB? Instituição trocou o logo? Entra na atualização da semana.
33
+ 1. **A lista de instituições — atualizada automaticamente, em dois conjuntos.** A **lista
34
+ principal** ([`data/bancos.json`](data/bancos.json)) traz as **470 instituições com código
35
+ COMPE** da lista de participantes do STR do Banco Central. As **643 instituições só-Pix**
36
+ (fintechs, IPs e cooperativas afiliadas, sem COMPE) ficam num conjunto separado
37
+ ([`data/instituicoes-pix.json`](data/instituicoes-pix.json)), mantendo a lista principal
38
+ enxuta. Ambos trazem nomes oficiais, ISPB, CNPJ (só-Pix) e os atributos de participação no
39
+ Pix.
40
+ 2. **Logos oficiais, sem duplicação.** **473 instituições com logo** usando **160 arquivos
41
+ distintos** (~1,7 MB): afiliadas de sistemas cooperativos de marca única (Sicoob, Sicredi,
42
+ Cresol, Unicred) **compartilham um único arquivo por sistema** e são marcadas com
43
+ `logo.source.type: "brand"`. Logos próprios vêm do diretório público do **Open Finance
44
+ Brasil** (`openfinance`) ou do **site oficial da instituição** (`direct-uri`, com curadoria
45
+ visual). Cada arquivo carrega proveniência: URI, SHA-256 e data.
46
+ 3. **Atualização automática, do BCB ao npm.** Toda segunda-feira um GitHub Action
47
+ ([`update-logos.yml`](.github/workflows/update-logos.yml)) reconstrói a lista e os logos a
48
+ partir das fontes. Mudanças **só de dados** (inclusões, renomeações e exclusões feitas pelo
49
+ BCB) são validadas por testes, mergeadas e **publicadas no npm automaticamente**; qualquer
50
+ **troca de logo** abre um PR com o diff visual para revisão humana antes de publicar.
49
51
  4. **Uso em qualquer stack.** API JavaScript/TypeScript, mapa pronto para React Native, CLI que
50
52
  copia os assets para projetos Flutter/Kotlin/Swift/.NET/PHP, URLs de CDN sem instalar nada —
51
53
  ou só o JSON.
52
54
 
53
- ## Por que não manter uma lista à mão?
55
+ ## Por que fontes oficiais?
54
56
 
55
- Porque ela envelhece: o BCB inclui, renomeia e exclui instituições ao longo do ano, e os bancos
56
- redesenham suas marcas. As bibliotecas existentes ou trazem **só dados** (sem logos), ou logos
57
- **coletados manualmente** de sites variados, sem rastreabilidade. A abordagem aqui:
57
+ Listas mantidas manualmente envelhecem: o BCB inclui, renomeia e exclui instituições ao longo do
58
+ ano, e os bancos redesenham suas marcas. As bibliotecas existentes ou trazem **só dados** (sem
59
+ logos), ou logos **coletados de sites variados**, sem rastreabilidade. A abordagem aqui:
58
60
 
59
61
  - **Fontes oficiais, e apenas elas** — os CSVs de participantes do STR e do Pix (que o próprio
60
62
  BCB atualiza diariamente), o diretório de participantes do Open Finance Brasil e, para quem não
@@ -74,6 +76,19 @@ redesenham suas marcas. As bibliotecas existentes ou trazem **só dados** (sem l
74
76
  esmagadora maioria das contas do país). As demais são SCDs/corretoras/IPs pequenas; para elas
75
77
  seu app usa o fallback que preferir — e a cobertura cresce a cada release.
76
78
 
79
+ ### As fontes, para conferência
80
+
81
+ Os mesmos endereços públicos que o pipeline consome — qualquer pessoa pode verificar:
82
+
83
+ | Fonte | Publicador | O que fornece | Consulta |
84
+ |---|---|---|---|
85
+ | Lista de participantes do STR | Banco Central do Brasil | ISPB, código COMPE e nomes oficiais (lista principal) | [página](https://www.bcb.gov.br/estabilidadefinanceira/participantesstr) · [CSV](https://www.bcb.gov.br/content/estabilidadefinanceira/str1/ParticipantesSTR.csv) |
86
+ | Lista de participantes ativos do Pix | Banco Central do Brasil | Instituições do Pix (inclusive sem COMPE), CNPJ e atributos de participação | [página](https://www.bcb.gov.br/estabilidadefinanceira/participantespix) (o CSV diário é linkado nela) |
87
+ | Diretório de participantes | Open Finance Brasil | Logo publicado pela própria instituição, identificado por CNPJ | [JSON público](https://data.directory.openbankingbrasil.org.br/participants) |
88
+
89
+ O campo `logo.source.uri` de cada logo em [`data/bancos.json`](data/bancos.json) aponta o
90
+ arquivo exato baixado, com SHA-256 e data.
91
+
77
92
  ## Instalação e uso
78
93
 
79
94
  ```bash
@@ -90,12 +105,16 @@ as ~640 instituições do Pix que não têm código COMPE). As consultas aceitam
90
105
  ### JavaScript / TypeScript (Node ou web)
91
106
 
92
107
  ```ts
93
- import { banks, byCompe, byIspb, logoCdnUrl } from 'logos-bancos-br';
108
+ import { banks, pixInstitutions, allInstitutions, byCompe, byIspb, logoCdnUrl } from 'logos-bancos-br';
109
+
110
+ banks(); // lista principal: 470 instituições com COMPE
111
+ pixInstitutions(); // conjunto separado: 643 só-Pix (fintechs, IPs, afiliadas)
112
+ allInstitutions(); // as duas juntas (1.113)
94
113
 
95
114
  byCompe(341); // { ispb: '60701190', compe4: '0341', name: 'Itaú Unibanco S.A.', logo: {...} }
96
115
  byCompe('0260'); // Nubank — '260', 260 e '0260' são equivalentes
97
116
  byIspb('00000000'); // Banco do Brasil
98
- byIspb('11275560'); // RecargaPay — instituição só-Pix (compe: null), endereçável por ISPB
117
+ byIspb('11275560'); // RecargaPay — só-Pix; byIspb resolve nos DOIS conjuntos
99
118
 
100
119
  logoCdnUrl(341); // https://cdn.jsdelivr.net/npm/logos-bancos-br@x.y.z/logos/png/60701190.png
101
120
 
@@ -120,9 +139,9 @@ import logos from 'logos-bancos-br/react-native'; // mapa require() estático
120
139
  ```
121
140
 
122
141
  > As chaves do mapa aceitam o COMPE com 4 dígitos (`'0341'`) **e** o ISPB (`'60701190'`;
123
- > instituições só-Pix aparecem apenas pelo ISPB). Importar esse entry adiciona **todos** os
124
- > logos (~4 MB) ao bundle. Se preferir empacotar só alguns, use o CLI abaixo e faça `require()`
125
- > dos arquivos copiados.
142
+ > instituições só-Pix aparecem apenas pelo ISPB; afiliadas apontam para o asset compartilhado do
143
+ > sistema). Importar esse entry adiciona os **160 logos distintos** (~1,7 MB) ao bundle. Se
144
+ > preferir empacotar só alguns, use o CLI abaixo e faça `require()` dos arquivos copiados.
126
145
 
127
146
  ### Node (caminho dos arquivos no disco)
128
147
 
@@ -155,22 +174,23 @@ https://cdn.jsdelivr.net/npm/logos-bancos-br@0.3.0/logos/svg/18236120.svg
155
174
  Fixe sempre uma versão (`@0.3.0`) — a correspondência COMPE→ISPB está em
156
175
  [`data/bancos.json`](data/bancos.json).
157
176
 
158
- ### Só os dados (lista de bancos)
177
+ ### Só os dados
159
178
 
160
179
  ```ts
161
- import dados from 'logos-bancos-br/data/bancos.json';
162
- // todas as instituições: ispb, compe/compe4 (ou null p/ só-Pix), nomes oficiais,
163
- // pix (atributos de participação, ou null) e logo (ou null)
180
+ import bancos from 'logos-bancos-br/data/bancos.json'; // lista principal (COMPE)
181
+ import soPix from 'logos-bancos-br/data/instituicoes-pix.json'; // só-Pix (sem COMPE)
164
182
  ```
165
183
 
166
184
  ### Referência rápida da API
167
185
 
168
186
  | Import | Função | Retorna |
169
187
  |---|---|---|
170
- | `logos-bancos-br` | `banks()` | todas as instituições (`Bank[]`) |
188
+ | `logos-bancos-br` | `banks()` | lista principal — instituições com COMPE (`Bank[]`) |
189
+ | | `pixInstitutions()` | só-Pix, sem COMPE (`PixInstitution[]`) |
190
+ | | `allInstitutions()` | os dois conjuntos (`Institution[]`) |
171
191
  | | `byCompe(codigo)` | `Bank \| undefined` — `341`, `'341'` e `'0341'` são equivalentes |
172
- | | `byIspb(ispb)` | `Bank \| undefined` |
173
- | | `findBank(codigo)` | `Bank \| undefined` — mais de 4 dígitos trata como ISPB |
192
+ | | `byIspb(ispb)` | `Institution \| undefined` — resolve nos dois conjuntos |
193
+ | | `findBank(codigo)` | `Institution \| undefined` — mais de 4 dígitos trata como ISPB |
174
194
  | | `logoCdnUrl(codigo, { format?, version? })` | URL do jsDelivr, ou `null` se não houver logo |
175
195
  | | `normalizeCompe(x)` · `normalizeIspb(x)` | `'0341'` · `'60701190'` |
176
196
  | | `version` | versão do pacote (string) |
@@ -178,7 +198,7 @@ import dados from 'logos-bancos-br/data/bancos.json';
178
198
  | | `copyLogos({ dest, format?, by?, only? })` | copia os assets para um diretório (o que o CLI usa) |
179
199
  | `logos-bancos-br/react-native` | `logos` (default export) | mapa `require()` com chaves COMPE4 **e** ISPB |
180
200
 
181
- Tipos TypeScript exportados: `Bank`, `BankLogo`, `BankLogoSource`, `PixInfo`.
201
+ Tipos TypeScript exportados: `Bank`, `PixInstitution`, `Institution`, `BankLogo`, `BankLogoSource`, `PixInfo`.
182
202
 
183
203
  ## O dataset
184
204
 
@@ -219,10 +239,12 @@ Um registro de `data/bancos.json`:
219
239
  `openfinance` (diretório Open Finance, match automático por ISPB ou revisado), `direct-uri`
220
240
  (URL no site oficial da instituição, revisada à mão) ou `override` (arte mantida no repo).
221
241
  - `logo: null` — instituição sem logo nas fontes oficiais (use seu fallback).
222
- - `compe`/`compe4: null` — instituição só-Pix (sem código COMPE); endereçe por ISPB.
223
- - `pix` — atributos verbatim da lista de participantes ativos do Pix do BCB (tipo de
224
- participação no SPI e no Pix, modalidade, tipo de instituição, autorizada pelo BCB);
225
- `null` quando a instituição não é participante ativa do Pix.
242
+ - `logo.source.type: "brand"` — logo herdado do sistema cooperativo (campo `brand` diz qual,
243
+ ex.: `"SICOOB"`); o arquivo é **compartilhado** entre as afiliadas do sistema.
244
+ - `pix` — atributos verbatim da lista de participantes ativos do Pix do BCB; `null` quando a
245
+ instituição não é participante ativa.
246
+ - Em `instituicoes-pix.json`, cada registro tem `compe: null`, `cnpj` (14 dígitos) e `pix`
247
+ sempre presente.
226
248
 
227
249
  ## Como funciona a atualização automática
228
250
 
@@ -237,25 +259,27 @@ Um registro de `data/bancos.json`:
237
259
  entra o `forcedMatches`, revisado à mão a partir das sugestões do relatório.
238
260
  4. **Sistemas cooperativos**: afiliadas que carregam a marca do sistema no nome oficial
239
261
  (Sicoob, Sicredi, Cresol, Unicred) recebem o logo do sistema por regra curada — explícita e
240
- auditável, não semelhança fuzzy.
262
+ auditável, não semelhança fuzzy — e **compartilham um único arquivo por marca** (nada de
263
+ centenas de cópias do mesmo PNG).
241
264
  5. **Fora do Open Finance**: ferramentas de descoberta (`npm run discover` e `discover:ai`)
242
265
  acham o ícone publicado no site oficial da instituição; **nada entra sem curadoria visual**
243
266
  (o revisor confere marca e domínio) — aprovados viram `forcedUris`.
244
267
  6. **Normalização**: cada arte vira PNG 256×256; o SVG original é mantido quando seguro.
245
268
  7. **Cadência**: o workflow roda **toda segunda-feira** (e sob demanda), regenera
246
- `data/bancos.json`, `logos/`, `PREVIEW.md` e `react-native.js`, e **abre um PR** com o
247
- relatório e o diff visual dos PNGs. Depois da revisão e merge, o mantenedor publica uma
248
- nova versão no npm (Release no GitHub). Nada é editado à mão.
269
+ `data/bancos.json`, `logos/`, `PREVIEW.md` e `react-native.js`, e abre um PR com o
270
+ relatório e o diff visual dos PNGs. Diffs só de dados passam por testes e são **mergeados e
271
+ publicados no npm automaticamente**; diffs que alteram logos aguardam revisão visual humana
272
+ — e o release após o merge é automático. Nada é editado à mão.
249
273
 
250
274
  Detalhes de manutenção (rodar o pipeline localmente, promover sugestões, overrides, denylist):
251
275
  **[CONTRIBUTING.md](CONTRIBUTING.md)**.
252
276
 
253
277
  ## Limitações conhecidas
254
278
 
255
- - Cobertura de logos: 473 de 1.113 hoje (Open Finance + regra de marca cooperativa + sites
256
- oficiais curados); cresce conforme o ecossistema e a curadoria. **Sua instituição está sem
257
- logo?** Abra uma issue com o template "Sugestão de match"/"Adicionar logo" apontando a URL no
258
- domínio oficial — promovemos rápido.
279
+ - Cobertura de logos: 473 de 1.113 instituições (153 na lista principal; o restante são
280
+ afiliadas com logo de sistema e só-Pix); cresce conforme o ecossistema e a curadoria. **Sua
281
+ instituição está sem logo?** Abra uma issue com o template "Sugestão de match"/"Adicionar
282
+ logo" apontando a URL no domínio oficial — promovemos rápido.
259
283
  - Algumas instituições publicam no diretório o logo da sua **marca de produto** (ex.: Banco CSF →
260
284
  cartão Atacadão). É a escolha oficial da própria instituição; se preferir outra arte no seu app,
261
285
  use um override local seu.