@arkiv-network/sdk 0.7.0-dev.1 → 0.8.0-advanced.2

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 (237) hide show
  1. package/README.md +71 -16
  2. package/dist/actions/advanced/index.cjs +13 -0
  3. package/dist/actions/advanced/index.d.cts +8 -0
  4. package/dist/actions/advanced/index.d.ts +9 -0
  5. package/dist/actions/advanced/index.js +9 -0
  6. package/dist/advanced-8ZPTmmaN.js +598 -0
  7. package/dist/advanced-8ZPTmmaN.js.map +1 -0
  8. package/dist/advanced-fPImL6lW.cjs +656 -0
  9. package/dist/arkivTransactions-D74gERHG.d.cts +571 -0
  10. package/dist/arkivTransactions-D74gERHG.d.cts.map +1 -0
  11. package/dist/arkivTransactions-NtGD6uk5.d.ts +571 -0
  12. package/dist/arkivTransactions-NtGD6uk5.d.ts.map +1 -0
  13. package/dist/attr/index.cjs +35 -0
  14. package/dist/attr/index.d.cts +2 -0
  15. package/dist/attr/index.d.ts +3 -0
  16. package/dist/attr/index.js +4 -0
  17. package/dist/attributes-BhY5DwJp.js +809 -0
  18. package/dist/attributes-BhY5DwJp.js.map +1 -0
  19. package/dist/attributes-Df9IsCVs.cjs +1029 -0
  20. package/dist/chains/index.cjs +2 -3
  21. package/dist/chains/index.d.cts +22 -60
  22. package/dist/chains/index.d.cts.map +1 -1
  23. package/dist/chains/index.d.ts +22 -60
  24. package/dist/chains/index.d.ts.map +1 -1
  25. package/dist/chains/index.js +2 -2
  26. package/dist/chains-BJrZs6sG.js +57 -0
  27. package/dist/chains-BJrZs6sG.js.map +1 -0
  28. package/dist/chains-BYRTTipa.cjs +73 -0
  29. package/dist/codec-Car3KkFF.d.ts +102 -0
  30. package/dist/codec-Car3KkFF.d.ts.map +1 -0
  31. package/dist/entity/index.cjs +20 -0
  32. package/dist/entity/index.d.cts +4 -0
  33. package/dist/entity/index.d.ts +5 -0
  34. package/dist/entity/index.js +7 -0
  35. package/dist/entity-B00Li04j.cjs +71 -0
  36. package/dist/entity-B7G8q_Eo.cjs +0 -0
  37. package/dist/entity-BYQR1uoe.js +67 -0
  38. package/dist/entity-BYQR1uoe.js.map +1 -0
  39. package/dist/entity-CD_qFF2M.js +0 -0
  40. package/dist/errors-BVbjKVMN.cjs +56 -0
  41. package/dist/errors-LTe7bOYS.js +33 -0
  42. package/dist/errors-LTe7bOYS.js.map +1 -0
  43. package/dist/expiry-BELY2Kpw.cjs +135 -0
  44. package/dist/expiry-BjpxZZQU.js +95 -0
  45. package/dist/expiry-BjpxZZQU.js.map +1 -0
  46. package/dist/expiry-DRV29F1r.d.cts +79 -0
  47. package/dist/expiry-DRV29F1r.d.cts.map +1 -0
  48. package/dist/expiry-nDbCgZX4.d.ts +79 -0
  49. package/dist/expiry-nDbCgZX4.d.ts.map +1 -0
  50. package/dist/flags-5dTNRnow.d.ts +41 -0
  51. package/dist/flags-5dTNRnow.d.ts.map +1 -0
  52. package/dist/flags-CRjPpoh3.d.cts +41 -0
  53. package/dist/flags-CRjPpoh3.d.cts.map +1 -0
  54. package/dist/flags-DFBs2J94.js +33 -0
  55. package/dist/flags-DFBs2J94.js.map +1 -0
  56. package/dist/flags-kr276q6i.cjs +43 -0
  57. package/dist/index-B5j76711.d.ts +184 -0
  58. package/dist/index-B5j76711.d.ts.map +1 -0
  59. package/dist/index-BF7Mq9Is.d.cts +280 -0
  60. package/dist/index-BF7Mq9Is.d.cts.map +1 -0
  61. package/dist/index-CA4V7Pdh.d.cts +167 -0
  62. package/dist/index-CA4V7Pdh.d.cts.map +1 -0
  63. package/dist/index-CV5zCdpa.d.cts +417 -0
  64. package/dist/index-CV5zCdpa.d.cts.map +1 -0
  65. package/dist/index-DHDud2hC.d.ts +280 -0
  66. package/dist/index-DHDud2hC.d.ts.map +1 -0
  67. package/dist/index-DvYvrkdk.d.ts +320 -0
  68. package/dist/index-DvYvrkdk.d.ts.map +1 -0
  69. package/dist/index-EeUO0nnJ.d.cts +184 -0
  70. package/dist/index-EeUO0nnJ.d.cts.map +1 -0
  71. package/dist/index-fX_XyqLp.d.ts +167 -0
  72. package/dist/index-fX_XyqLp.d.ts.map +1 -0
  73. package/dist/index.cjs +411 -405
  74. package/dist/index.d.cts +360 -209
  75. package/dist/index.d.cts.map +1 -1
  76. package/dist/index.d.ts +361 -209
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +342 -387
  79. package/dist/index.js.map +1 -1
  80. package/dist/key-D1Bh7MF0.js +70 -0
  81. package/dist/key-D1Bh7MF0.js.map +1 -0
  82. package/dist/key-WKhXnXuU.cjs +98 -0
  83. package/dist/logger-CVpvU8ik.js +153 -0
  84. package/dist/logger-CVpvU8ik.js.map +1 -0
  85. package/dist/logger-Cr15lPAQ.cjs +188 -0
  86. package/dist/payload-BNoud2KZ.d.cts +94 -0
  87. package/dist/payload-BNoud2KZ.d.cts.map +1 -0
  88. package/dist/payload-Bz6651ax.js +67 -0
  89. package/dist/payload-Bz6651ax.js.map +1 -0
  90. package/dist/payload-CcUj85ys.d.ts +94 -0
  91. package/dist/payload-CcUj85ys.d.ts.map +1 -0
  92. package/dist/payload-KC14SDlN.cjs +83 -0
  93. package/dist/query/index.cjs +26 -150
  94. package/dist/query/index.d.cts +5 -3
  95. package/dist/query/index.d.ts +6 -3
  96. package/dist/query/index.js +8 -138
  97. package/dist/queryBuilder-DM6AWCBa.js +820 -0
  98. package/dist/queryBuilder-DM6AWCBa.js.map +1 -0
  99. package/dist/queryBuilder-DbUMEZln.cjs +944 -0
  100. package/dist/selection-C4UhsMOO.d.ts +434 -0
  101. package/dist/selection-C4UhsMOO.d.ts.map +1 -0
  102. package/dist/selection-DPg0uyJf.d.cts +433 -0
  103. package/dist/selection-DPg0uyJf.d.cts.map +1 -0
  104. package/dist/types/index.cjs +3 -3
  105. package/dist/types/index.d.cts +7 -2
  106. package/dist/types/index.d.ts +8 -2
  107. package/dist/types/index.js +3 -3
  108. package/dist/types-Bu_ZwMbZ.js +0 -0
  109. package/dist/types-NRqymi6S.cjs +0 -0
  110. package/dist/utils/index.cjs +4 -17
  111. package/dist/utils/index.d.cts +3 -17
  112. package/dist/utils/index.d.ts +3 -17
  113. package/dist/utils/index.js +4 -18
  114. package/package.json +26 -5
  115. package/src/actions/advanced/advanced.test.ts +258 -0
  116. package/src/actions/advanced/buildMutation.ts +104 -0
  117. package/src/actions/advanced/getMutationResult.ts +112 -0
  118. package/src/actions/advanced/index.ts +21 -0
  119. package/src/actions/advanced/pingTransaction.ts +43 -0
  120. package/src/actions/advanced/sendMutation.ts +59 -0
  121. package/src/actions/public/getEntity.ts +27 -43
  122. package/src/actions/public/getEntityNonce.ts +30 -0
  123. package/src/actions/public/predictEntityKeys.test.ts +143 -0
  124. package/src/actions/public/predictEntityKeys.ts +138 -0
  125. package/src/actions/public/query.ts +35 -67
  126. package/src/actions/public/watchEntityEvents.test.ts +414 -0
  127. package/src/actions/public/watchEntityEvents.ts +225 -0
  128. package/src/actions/wallet/changeOwnership.ts +2 -2
  129. package/src/actions/wallet/createEntity.ts +99 -24
  130. package/src/actions/wallet/extendEntity.ts +37 -13
  131. package/src/actions/wallet/mutateEntities.test.ts +76 -0
  132. package/src/actions/wallet/mutateEntities.ts +16 -33
  133. package/src/actions/wallet/patchEntity.ts +90 -0
  134. package/src/attr/attributes.test.ts +120 -0
  135. package/src/attr/attributes.ts +190 -0
  136. package/src/attr/codec.test.ts +162 -0
  137. package/src/attr/codec.ts +220 -0
  138. package/src/attr/decimal.ts +86 -0
  139. package/src/attr/errors.ts +145 -0
  140. package/src/attr/index.ts +50 -0
  141. package/src/attr/names.ts +106 -0
  142. package/src/attr/types.ts +150 -0
  143. package/src/attr/values.test.ts +271 -0
  144. package/src/attr/values.ts +502 -0
  145. package/src/chains/cheesecake.ts +22 -0
  146. package/src/chains/index.ts +1 -2
  147. package/src/clients/createPublicClient.test.ts +3 -5
  148. package/src/clients/createPublicClient.ts +5 -4
  149. package/src/clients/createWalletClient.test.ts +2 -2
  150. package/src/clients/createWalletClient.ts +13 -7
  151. package/src/clients/decorators/arkivAdvanced.ts +144 -0
  152. package/src/clients/decorators/arkivPublic.ts +172 -139
  153. package/src/clients/decorators/arkivWallet.ts +101 -94
  154. package/src/entity/create.test.ts +184 -0
  155. package/src/entity/errors.ts +38 -0
  156. package/src/entity/events.ts +16 -0
  157. package/src/entity/expiry.test.ts +195 -0
  158. package/src/entity/expiry.ts +181 -0
  159. package/src/entity/flags.ts +65 -0
  160. package/src/entity/index.ts +15 -0
  161. package/src/entity/key.ts +68 -0
  162. package/src/entity/operations.ts +134 -0
  163. package/src/entity/params.ts +15 -0
  164. package/src/errors.ts +26 -49
  165. package/src/index.ts +19 -0
  166. package/src/query/engine.ts +68 -137
  167. package/src/query/errors.ts +151 -0
  168. package/src/query/expression.test.ts +286 -0
  169. package/src/query/expression.ts +493 -0
  170. package/src/query/index.ts +40 -4
  171. package/src/query/injection.test.ts +151 -0
  172. package/src/query/queryBuilder.test.ts +342 -637
  173. package/src/query/queryBuilder.ts +133 -359
  174. package/src/query/queryResult.ts +54 -51
  175. package/src/query/selection.test.ts +48 -98
  176. package/src/query/selection.ts +77 -65
  177. package/src/types/entity.test.ts +44 -155
  178. package/src/types/entity.ts +60 -52
  179. package/src/types/events.ts +59 -16
  180. package/src/types/index.ts +20 -17
  181. package/src/types/rpcSchema.ts +69 -37
  182. package/src/utils/arkivTransactions.test.ts +600 -155
  183. package/src/utils/arkivTransactions.ts +350 -219
  184. package/src/utils/chains.test.ts +21 -24
  185. package/src/utils/compression.ts +1 -1
  186. package/src/utils/entities.test.ts +62 -0
  187. package/src/utils/entities.ts +109 -37
  188. package/src/utils/expirationTime.ts +114 -10
  189. package/src/utils/logger.ts +2 -2
  190. package/src/utils/revert.test.ts +99 -0
  191. package/src/utils/revert.ts +145 -0
  192. package/dist/chains-BifaY04V.cjs +0 -108
  193. package/dist/chains-CrtkVbBh.js +0 -86
  194. package/dist/chains-CrtkVbBh.js.map +0 -1
  195. package/dist/consts-Bz0LZQZY.js +0 -7
  196. package/dist/consts-Bz0LZQZY.js.map +0 -1
  197. package/dist/consts-CxT1-RXU.cjs +0 -18
  198. package/dist/entity-BhSXaB23.cjs +0 -81
  199. package/dist/entity-CN41IOrq.d.cts +0 -401
  200. package/dist/entity-CN41IOrq.d.cts.map +0 -1
  201. package/dist/entity-DGfVyB-a.js +0 -71
  202. package/dist/entity-DGfVyB-a.js.map +0 -1
  203. package/dist/entity-NnEVlePN.d.ts +0 -401
  204. package/dist/entity-NnEVlePN.d.ts.map +0 -1
  205. package/dist/index-ClkpS6s_.d.ts +0 -481
  206. package/dist/index-ClkpS6s_.d.ts.map +0 -1
  207. package/dist/index-w4qop0Pe.d.cts +0 -481
  208. package/dist/index-w4qop0Pe.d.cts.map +0 -1
  209. package/dist/payload-BpNUPOnY.js +0 -13
  210. package/dist/payload-BpNUPOnY.js.map +0 -1
  211. package/dist/payload-C2KHOUoj.d.ts +0 -6
  212. package/dist/payload-C2KHOUoj.d.ts.map +0 -1
  213. package/dist/payload-CJN8fTvX.d.cts +0 -6
  214. package/dist/payload-CJN8fTvX.d.cts.map +0 -1
  215. package/dist/payload-D8YLKcJj.cjs +0 -23
  216. package/dist/query/index.js.map +0 -1
  217. package/dist/queryBuilder-BE_XhLLa.js +0 -735
  218. package/dist/queryBuilder-BE_XhLLa.js.map +0 -1
  219. package/dist/queryBuilder-J37buGCi.cjs +0 -865
  220. package/dist/utils/index.d.cts.map +0 -1
  221. package/dist/utils/index.d.ts.map +0 -1
  222. package/dist/utils/index.js.map +0 -1
  223. package/src/actions/public/buildQuery.ts +0 -10
  224. package/src/actions/public/subscribeEntityEvents.ts +0 -93
  225. package/src/actions/wallet/updateEntity.ts +0 -59
  226. package/src/chains/braga.ts +0 -26
  227. package/src/chains/kaolin.ts +0 -29
  228. package/src/query/engine.test.ts +0 -571
  229. package/src/query/predicate.test.ts +0 -461
  230. package/src/query/predicate.ts +0 -144
  231. package/src/query/queryResult.test.ts +0 -270
  232. package/src/query/selectQueryBuilder.test.ts +0 -213
  233. package/src/types/attributes.ts +0 -28
  234. package/src/utils/validation.test.ts +0 -106
  235. package/src/utils/validation.ts +0 -80
  236. /package/dist/{types-Ci4BRClw.js → attr-DlmErkvR.cjs} +0 -0
  237. /package/dist/{types-a8gm_IaQ.cjs → attr-GcQKatub.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/utils/expirationTime.ts"],"sourcesContent":[],"mappings":";;;cAEa;;;EAAA,SAAA,EAAA,CAAA,KAUZ,EAAA,MAAA,EAAA,GADkB,MAAI;;;;;;mBAAJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/utils/expirationTime.ts"],"sourcesContent":[],"mappings":";;;cAEa;;;EAAA,SAAA,EAAA,CAAA,KAUZ,EAAA,MAAA,EAAA,GADkB,MAAI;;;;;;mBAAJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/utils/expirationTime.ts"],"sourcesContent":["import { BLOCK_TIME } from \"../consts\"\n\nexport const ExpirationTime = {\n fromSeconds: (seconds: number) => seconds,\n fromMinutes: (minutes: number) => minutes * 60,\n fromHours: (hours: number) => hours * 60 * 60,\n fromDays: (days: number) => days * 24 * 60 * 60,\n fromWeeks: (weeks: number) => weeks * 7 * 24 * 60 * 60,\n fromMonths: (months: number) => months * 30 * 24 * 60 * 60,\n fromYears: (years: number) => years * 365 * 24 * 60 * 60,\n fromBlocks: (blocks: number) => blocks * BLOCK_TIME,\n fromDate: (date: Date) => Math.floor(date.getTime() / 1000) - Math.floor(Date.now() / 1000),\n}\n"],"mappings":";;;;AAEA,MAAa,iBAAiB;CAC5B,cAAc,YAAoB;CAClC,cAAc,YAAoB,UAAU;CAC5C,YAAY,UAAkB,QAAQ,KAAK;CAC3C,WAAW,SAAiB,OAAO,KAAK,KAAK;CAC7C,YAAY,UAAkB,QAAQ,IAAI,KAAK,KAAK;CACpD,aAAa,WAAmB,SAAS,KAAK,KAAK,KAAK;CACxD,YAAY,UAAkB,QAAQ,MAAM,KAAK,KAAK;CACtD,aAAa,WAAmB,SAAS;CACzC,WAAW,SAAe,KAAK,MAAM,KAAK,SAAS,GAAG,IAAK,GAAG,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;CAC5F"}
@@ -1,10 +0,0 @@
1
- import type { ArkivClient } from "../../clients/baseClient"
2
- import { QueryBuilder } from "../../query/queryBuilder"
3
-
4
- /**
5
- * @deprecated Use `client.select()` (see SelectQueryBuilder) instead. `buildQuery()` returns
6
- * only the entity `key` unless data is explicitly opted in to, which is an easy mistake.
7
- */
8
- export async function buildQuery(client: ArkivClient) {
9
- return new QueryBuilder(client)
10
- }
@@ -1,93 +0,0 @@
1
- import { decodeEventLog, type Hex } from "viem"
2
- import type { ArkivClient } from "../../clients/baseClient"
3
- import type { PublicArkivClient } from "../../clients/createPublicClient"
4
- import { EntityOperationType } from "../../types/entity"
5
- import type {
6
- OnEntityCreatedEvent,
7
- OnEntityDeletedEvent,
8
- OnEntityExpiredEvent,
9
- OnEntityExpiresInExtendedEvent,
10
- OnEntityOwnerChangedEvent,
11
- OnEntityUpdatedEvent,
12
- } from "../../types/events"
13
- import { ENTITY_OPERATION_EVENT_ABI } from "../../utils/arkivTransactions"
14
- import { getLogger } from "../../utils/logger"
15
-
16
- const logger = getLogger("actions:public:subscribe-entity-events")
17
-
18
- export const arkivABI = ENTITY_OPERATION_EVENT_ABI
19
-
20
- export async function subscribeEntityEvents(
21
- client: ArkivClient,
22
- {
23
- onError,
24
- onEntityCreated,
25
- onEntityUpdated,
26
- onEntityDeleted,
27
- onEntityExpired,
28
- onEntityExpiresInExtended,
29
- onEntityOwnerChanged,
30
- }: {
31
- onError: ((error: Error) => void) | undefined
32
- onEntityCreated?: ((event: OnEntityCreatedEvent) => void) | undefined
33
- onEntityUpdated?: ((event: OnEntityUpdatedEvent) => void) | undefined
34
- onEntityDeleted?: ((event: OnEntityDeletedEvent) => void) | undefined
35
- onEntityExpired?: ((event: OnEntityExpiredEvent) => void) | undefined
36
- onEntityExpiresInExtended?: ((event: OnEntityExpiresInExtendedEvent) => void) | undefined
37
- onEntityOwnerChanged?: ((event: OnEntityOwnerChangedEvent) => void) | undefined
38
- },
39
- pollingInterval?: number,
40
- fromBlock?: bigint,
41
- ): Promise<() => void> {
42
- const unsubscribe = (client as PublicArkivClient).watchEvent({
43
- pollingInterval: pollingInterval ?? 1000,
44
- fromBlock,
45
- events: arkivABI,
46
- onLogs: (logs) => {
47
- logger("logs from subscribeEntityEvents %o", logs)
48
- for (const log of logs) {
49
- const event = decodeEventLog({
50
- abi: arkivABI,
51
- topics: log.topics as [Hex, ...Hex[]] | [],
52
- data: log.data,
53
- })
54
- logger("event from subscribeEntityEvents %o", event)
55
-
56
- if (event.eventName !== "EntityOperation") continue
57
-
58
- const entityKey = event.args.entityKey as Hex
59
- const owner = event.args.owner
60
- const expiresAt = event.args.expiresAt
61
- const entityHash = event.args.entityHash as Hex
62
- const opType = Number(event.args.operationType)
63
-
64
- switch (opType) {
65
- case EntityOperationType.Create:
66
- onEntityCreated?.({ entityKey, owner, expiresAt, entityHash })
67
- break
68
- case EntityOperationType.Update:
69
- onEntityUpdated?.({ entityKey, owner, expiresAt, entityHash })
70
- break
71
- case EntityOperationType.Extend:
72
- onEntityExpiresInExtended?.({ entityKey, owner, expiresAt, entityHash })
73
- break
74
- case EntityOperationType.Transfer:
75
- onEntityOwnerChanged?.({ entityKey, owner, entityHash })
76
- break
77
- case EntityOperationType.Delete:
78
- onEntityDeleted?.({ entityKey, owner })
79
- break
80
- default:
81
- onEntityExpired?.({ entityKey, owner })
82
- break
83
- }
84
- }
85
- },
86
- onError: (error) => {
87
- console.error("error from subscribeEntityEvents", error)
88
- onError?.(error)
89
- },
90
- })
91
-
92
- return unsubscribe
93
- }
@@ -1,59 +0,0 @@
1
- import type { Hash, Hex } from "viem"
2
- import type { ArkivClient } from "../../clients/baseClient"
3
- import type { Attribute, MimeType, TxParams } from "../../types"
4
- import { sendArkivTransaction } from "../../utils/arkivTransactions"
5
- import { getLogger } from "../../utils/logger"
6
-
7
- const logger = getLogger("actions:wallet:update-entity")
8
-
9
- /**
10
- * Parameters for the updateEntity function.
11
- * - entityKey: The key of the entity to update.
12
- * - payload: The payload of the entity.
13
- * - attributes: The attributes of the entity. Attribute values may be strings
14
- * or numbers, but numeric values **must be integers**. To store a non-integer,
15
- * scale it to an integer (e.g. `1.5` -> `1500`) to preserve numeric ordering,
16
- * or pass it as a string (e.g. `"1.5"`). A non-integer numeric value throws an
17
- * {@link InvalidAttributeError}.
18
- * - contentType: The content type of the entity.
19
- * - expiresIn: How long until the entity expires, in seconds. Because Arkiv
20
- * measures expiration in blocks (1 block = 2 seconds), this **must be a
21
- * positive integer and a multiple of the block time (2 seconds)**.
22
- * Invalid values throw an {@link InvalidExpirationError}.
23
- */
24
- export type UpdateEntityParameters = {
25
- entityKey: Hex
26
- payload: Uint8Array
27
- /** Entity attributes. Numeric values must be integers (scale non-integers, e.g. `1.5` -> `1500`, or use a string). Throws {@link InvalidAttributeError} otherwise. */
28
- attributes: Attribute[]
29
- contentType: MimeType | string
30
- /** Seconds until expiry. Must be a positive integer and a multiple of the 2s block time.
31
- * Throws {@link InvalidExpirationError} otherwise. */
32
- expiresIn: number
33
- }
34
-
35
- /**
36
- * Return type for the updateEntity function.
37
- * - entityKey: The key of the entity.
38
- * - txHash: The transaction hash.
39
- */
40
- export type UpdateEntityReturnType = {
41
- entityKey: Hex
42
- txHash: Hash
43
- }
44
-
45
- export async function updateEntity(
46
- client: ArkivClient,
47
- data: UpdateEntityParameters,
48
- txParams?: TxParams,
49
- ): Promise<UpdateEntityReturnType> {
50
- logger("updateEntity %o", data)
51
- const { receipt } = await sendArkivTransaction(client, { updates: [data] }, txParams)
52
-
53
- logger("Receipt from updateEntity %o", receipt)
54
-
55
- return {
56
- txHash: receipt.transactionHash as Hash,
57
- entityKey: data.entityKey,
58
- }
59
- }
@@ -1,26 +0,0 @@
1
- import { defineChain } from "viem"
2
-
3
- export const braga = defineChain({
4
- id: 60138453102,
5
- name: "Braga",
6
- network: "braga",
7
- nativeCurrency: {
8
- name: "Golem",
9
- symbol: "GLM",
10
- decimals: 18,
11
- },
12
- rpcUrls: {
13
- default: {
14
- http: ["https://braga.hoodi.arkiv.network/rpc"],
15
- webSocket: ["wss://braga.hoodi.arkiv.network/rpc/ws"],
16
- },
17
- },
18
- blockExplorers: {
19
- default: {
20
- name: "Braga Arkiv Explorer",
21
- url: "https://explorer.braga.hoodi.arkiv.network",
22
- apiUrl: "https://explorer.braga.hoodi.arkiv.network/api",
23
- },
24
- },
25
- testnet: true,
26
- })
@@ -1,29 +0,0 @@
1
- import { defineChain } from "viem"
2
-
3
- /**
4
- * @deprecated The kaolin network is getting removed on may 15th 2026. Migration guide: https://docs.arkiv.network/networks/migrate-from-kaolin/
5
- */
6
- export const kaolin = defineChain({
7
- id: 60138453025,
8
- name: "Kaolin",
9
- network: "kaolin",
10
- nativeCurrency: {
11
- name: "Ethereum",
12
- symbol: "ETH",
13
- decimals: 18,
14
- },
15
- rpcUrls: {
16
- default: {
17
- http: ["https://kaolin.hoodi.arkiv.network/rpc"],
18
- webSocket: ["wss://kaolin.hoodi.arkiv.network/rpc/ws"],
19
- },
20
- },
21
- blockExplorers: {
22
- default: {
23
- name: "Kaolin Arkiv Explorer",
24
- url: "https://explorer.kaolin.hoodi.arkiv.network",
25
- apiUrl: "https://explorer.kaolin.hoodi.arkiv.network/api",
26
- },
27
- },
28
- testnet: true,
29
- })