@arkiv-network/sdk 0.8.0-advanced.2 → 0.8.0-dev.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.
- package/README.md +0 -42
- package/dist/attr/index.cjs +33 -34
- package/dist/attr/index.d.cts +1 -1
- package/dist/attr/index.d.ts +1 -2
- package/dist/attr/index.js +1 -2
- package/dist/{attributes-Df9IsCVs.cjs → attr-BXTkpnoc.cjs} +13 -3
- package/dist/{attributes-BhY5DwJp.js → attr-tmyREHtw.js} +14 -4
- package/dist/attr-tmyREHtw.js.map +1 -0
- package/dist/chains/index.cjs +1 -1
- package/dist/chains/index.d.cts +3 -0
- package/dist/chains/index.d.cts.map +1 -1
- package/dist/chains/index.d.ts +3 -0
- package/dist/chains/index.d.ts.map +1 -1
- package/dist/chains/index.js +1 -1
- package/dist/{chains-BYRTTipa.cjs → chains-BfNQliHU.cjs} +3 -0
- package/dist/{chains-BJrZs6sG.js → chains-Du8tql7I.js} +4 -1
- package/dist/chains-Du8tql7I.js.map +1 -0
- package/dist/{arkivTransactions-NtGD6uk5.d.ts → changeOwnership-B0ar96ub.d.ts} +74 -123
- package/dist/changeOwnership-B0ar96ub.d.ts.map +1 -0
- package/dist/{arkivTransactions-D74gERHG.d.cts → changeOwnership-BofkLnXJ.d.cts} +74 -123
- package/dist/changeOwnership-BofkLnXJ.d.cts.map +1 -0
- package/dist/entity/index.cjs +9 -9
- package/dist/entity/index.d.cts +3 -3
- package/dist/entity/index.d.ts +4 -5
- package/dist/entity/index.js +5 -6
- package/dist/{entity-BYQR1uoe.js → entity-BIp_df9u.js} +1 -1
- package/dist/{entity-BYQR1uoe.js.map → entity-BIp_df9u.js.map} +1 -1
- package/dist/{key-D1Bh7MF0.js → entity-CniBgBSd.js} +31 -19
- package/dist/entity-CniBgBSd.js.map +1 -0
- package/dist/{key-WKhXnXuU.cjs → entity-DJ0Gml9c.cjs} +37 -19
- package/dist/{errors-LTe7bOYS.js → errors-D2E1GRjw.js} +2 -2
- package/dist/errors-D2E1GRjw.js.map +1 -0
- package/dist/{errors-BVbjKVMN.cjs → errors-DhV00966.cjs} +1 -1
- package/dist/{expiry-nDbCgZX4.d.ts → expiry-BxOlvVWC.d.ts} +1 -1
- package/dist/{expiry-nDbCgZX4.d.ts.map → expiry-BxOlvVWC.d.ts.map} +1 -1
- package/dist/{expiry-BELY2Kpw.cjs → expiry-CG9GhVXv.cjs} +1 -1
- package/dist/{expiry-BjpxZZQU.js → expiry-Cgdb_dbq.js} +2 -2
- package/dist/expiry-Cgdb_dbq.js.map +1 -0
- package/dist/expiry-DRV29F1r.d.cts.map +1 -1
- package/dist/{flags-CRjPpoh3.d.cts → flags-0Vl5rrHq.d.cts} +1 -1
- package/dist/{flags-CRjPpoh3.d.cts.map → flags-0Vl5rrHq.d.cts.map} +1 -1
- package/dist/{flags-kr276q6i.cjs → flags-DCD26uhe.cjs} +1 -1
- package/dist/{flags-DFBs2J94.js → flags-DUT2gHEU.js} +2 -2
- package/dist/{flags-DFBs2J94.js.map → flags-DUT2gHEU.js.map} +1 -1
- package/dist/{flags-5dTNRnow.d.ts → flags-wmcMoAnN.d.ts} +1 -1
- package/dist/{flags-5dTNRnow.d.ts.map → flags-wmcMoAnN.d.ts.map} +1 -1
- package/dist/{index-fX_XyqLp.d.ts → index-BGp2plHs.d.cts} +15 -13
- package/dist/index-BGp2plHs.d.cts.map +1 -0
- package/dist/{index-DHDud2hC.d.ts → index-BKB875Um.d.ts} +5 -7
- package/dist/{index-DHDud2hC.d.ts.map → index-BKB875Um.d.ts.map} +1 -1
- package/dist/{index-DvYvrkdk.d.ts → index-CIcHPx2j.d.cts} +110 -6
- package/dist/index-CIcHPx2j.d.cts.map +1 -0
- package/dist/{index-CV5zCdpa.d.cts → index-Cd2aaWme.d.ts} +13 -6
- package/dist/index-Cd2aaWme.d.ts.map +1 -0
- package/dist/{index-CA4V7Pdh.d.cts → index-ezMZ2-JH.d.ts} +15 -13
- package/dist/index-ezMZ2-JH.d.ts.map +1 -0
- package/dist/{index-BF7Mq9Is.d.cts → index-rINthNuU.d.cts} +5 -7
- package/dist/{index-BF7Mq9Is.d.cts.map → index-rINthNuU.d.cts.map} +1 -1
- package/dist/index.cjs +433 -139
- package/dist/index.d.cts +58 -164
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +59 -166
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +376 -75
- package/dist/index.js.map +1 -1
- package/dist/{payload-CcUj85ys.d.ts → payload-CGvVPZQX.d.ts} +61 -2
- package/dist/payload-CGvVPZQX.d.ts.map +1 -0
- package/dist/{payload-Bz6651ax.js → payload-DE7wMztL.js} +28 -3
- package/dist/payload-DE7wMztL.js.map +1 -0
- package/dist/{payload-BNoud2KZ.d.cts → payload-Dfu30njp.d.cts} +60 -1
- package/dist/payload-Dfu30njp.d.cts.map +1 -0
- package/dist/{payload-KC14SDlN.cjs → payload-DqFweqiO.cjs} +27 -2
- package/dist/query/index.cjs +5 -7
- package/dist/query/index.d.cts +4 -4
- package/dist/query/index.d.ts +4 -5
- package/dist/query/index.js +5 -7
- package/dist/{queryBuilder-DM6AWCBa.js → queryBuilder-wvA8sn--.js} +169 -23
- package/dist/queryBuilder-wvA8sn--.js.map +1 -0
- package/dist/{queryBuilder-DbUMEZln.cjs → queryBuilder-zHGhDmaG.cjs} +215 -33
- package/dist/{selection-DPg0uyJf.d.cts → selection-Bv8_o-7i.d.cts} +76 -68
- package/dist/selection-Bv8_o-7i.d.cts.map +1 -0
- package/dist/{selection-C4UhsMOO.d.ts → selection-ox7zdtVm.d.ts} +76 -69
- package/dist/selection-ox7zdtVm.d.ts.map +1 -0
- package/dist/types/index.cjs +2 -2
- package/dist/types/index.d.cts +6 -6
- package/dist/types/index.d.ts +7 -8
- package/dist/types/index.js +2 -2
- package/dist/utils/index.cjs +3 -3
- package/dist/utils/index.d.cts +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.js +3 -3
- package/package.json +1 -5
- package/src/actions/public/getEntity.ts +1 -0
- package/src/actions/public/predictEntityKeys.test.ts +17 -1
- package/src/actions/public/predictEntityKeys.ts +28 -14
- package/src/actions/public/query.ts +1 -5
- package/src/actions/wallet/createEntity.ts +7 -6
- package/src/actions/wallet/{mutateEntities.test.ts → executeBatch.test.ts} +7 -7
- package/src/actions/wallet/{mutateEntities.ts → executeBatch.ts} +26 -11
- package/src/actions/wallet/extendEntity.ts +1 -0
- package/src/actions/wallet/patchEntity.ts +3 -3
- package/src/attr/attributes.ts +8 -2
- package/src/attr/errors.ts +2 -2
- package/src/attr/types.ts +3 -3
- package/src/attr/values.ts +5 -1
- package/src/chains/localhost.ts +3 -0
- package/src/clients/createPublicClient.test.ts +1 -1
- package/src/clients/createPublicClient.ts +5 -5
- package/src/clients/createWalletClient.test.ts +2 -2
- package/src/clients/createWalletClient.ts +3 -5
- package/src/clients/decorators/arkivPublic.ts +13 -24
- package/src/clients/decorators/arkivWallet.ts +40 -47
- package/src/entity/create.test.ts +20 -1
- package/src/entity/errors.ts +4 -3
- package/src/entity/expiry.ts +1 -0
- package/src/entity/index.ts +2 -2
- package/src/entity/key.ts +23 -3
- package/src/entity/operations.ts +1 -0
- package/src/index.ts +0 -13
- package/src/query/engine.ts +0 -11
- package/src/query/errors.ts +1 -1
- package/src/query/expression.ts +14 -7
- package/src/query/queryBuilder.test.ts +1 -21
- package/src/query/queryBuilder.ts +3 -10
- package/src/types/index.ts +4 -4
- package/src/types/rpcSchema.ts +1 -0
- package/src/types/txParams.ts +8 -0
- package/src/utils/arkivTransactions.test.ts +7 -1
- package/src/utils/arkivTransactions.ts +114 -254
- package/src/utils/expirationTime.ts +39 -0
- package/src/utils/payload.ts +25 -0
- package/dist/actions/advanced/index.cjs +0 -13
- package/dist/actions/advanced/index.d.cts +0 -8
- package/dist/actions/advanced/index.d.ts +0 -9
- package/dist/actions/advanced/index.js +0 -9
- package/dist/advanced-8ZPTmmaN.js +0 -598
- package/dist/advanced-8ZPTmmaN.js.map +0 -1
- package/dist/advanced-fPImL6lW.cjs +0 -656
- package/dist/arkivTransactions-D74gERHG.d.cts.map +0 -1
- package/dist/arkivTransactions-NtGD6uk5.d.ts.map +0 -1
- package/dist/attributes-BhY5DwJp.js.map +0 -1
- package/dist/chains-BJrZs6sG.js.map +0 -1
- package/dist/codec-Car3KkFF.d.ts +0 -102
- package/dist/codec-Car3KkFF.d.ts.map +0 -1
- package/dist/entity-B7G8q_Eo.cjs +0 -0
- package/dist/entity-CD_qFF2M.js +0 -0
- package/dist/errors-LTe7bOYS.js.map +0 -1
- package/dist/expiry-BjpxZZQU.js.map +0 -1
- package/dist/index-B5j76711.d.ts +0 -184
- package/dist/index-B5j76711.d.ts.map +0 -1
- package/dist/index-CA4V7Pdh.d.cts.map +0 -1
- package/dist/index-CV5zCdpa.d.cts.map +0 -1
- package/dist/index-DvYvrkdk.d.ts.map +0 -1
- package/dist/index-EeUO0nnJ.d.cts +0 -184
- package/dist/index-EeUO0nnJ.d.cts.map +0 -1
- package/dist/index-fX_XyqLp.d.ts.map +0 -1
- package/dist/key-D1Bh7MF0.js.map +0 -1
- package/dist/logger-CVpvU8ik.js +0 -153
- package/dist/logger-CVpvU8ik.js.map +0 -1
- package/dist/logger-Cr15lPAQ.cjs +0 -188
- package/dist/payload-BNoud2KZ.d.cts.map +0 -1
- package/dist/payload-Bz6651ax.js.map +0 -1
- package/dist/payload-CcUj85ys.d.ts.map +0 -1
- package/dist/queryBuilder-DM6AWCBa.js.map +0 -1
- package/dist/selection-C4UhsMOO.d.ts.map +0 -1
- package/dist/selection-DPg0uyJf.d.cts.map +0 -1
- package/dist/types-Bu_ZwMbZ.js +0 -0
- package/dist/types-NRqymi6S.cjs +0 -0
- package/src/actions/advanced/advanced.test.ts +0 -258
- package/src/actions/advanced/buildMutation.ts +0 -104
- package/src/actions/advanced/getMutationResult.ts +0 -112
- package/src/actions/advanced/index.ts +0 -21
- package/src/actions/advanced/pingTransaction.ts +0 -43
- package/src/actions/advanced/sendMutation.ts +0 -59
- package/src/clients/decorators/arkivAdvanced.ts +0 -144
- /package/dist/{entity-B00Li04j.cjs → entity-B0t6sN7F.cjs} +0 -0
- /package/dist/{attr-DlmErkvR.cjs → types-Bx1EKe0v.js} +0 -0
- /package/dist/{attr-GcQKatub.js → types-CKPddlfS.cjs} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,115 +1,27 @@
|
|
|
1
|
-
import { F as
|
|
2
|
-
import { a as
|
|
3
|
-
import { a as ResolvedExpiry, i as Lifetime, n as Expiry, o as resolveExpiry, r as ExpiryContext, s as toBlocks, t as EncodedExpiry } from "./expiry-
|
|
4
|
-
import {
|
|
5
|
-
import { A as
|
|
6
|
-
import {
|
|
7
|
-
import { i as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { i as ExpirationTime, n as stringToPayload, r as DeadlineOptions, t as jsonToPayload } from "./payload-CcUj85ys.js";
|
|
11
|
-
import { Account, Address, Chain, Client, Hash, Hex, ParseAccount, Prettify, PublicActions, PublicClientConfig, RpcSchema, TransactionReceipt, Transport, WalletActions, WalletClientConfig } from "viem";
|
|
1
|
+
import { A as i32, B as Bytes32Value, C as ValueInput, D as dec, E as bytes32, F as u64, G as StrValue, H as DecValue, I as AddrValue, J as U64Value, K as TypeTag, L as AnyArkivValue, M as str, N as toValue, O as decFromUnits, P as u256, R as ArkivValue, S as U64_MAX, T as bool, U as I32Value, V as BytesValue, W as KeyValue, X as isArkivValue, Y as UserTypeTag, _ as MAX_PAYLOAD_BYTES, a as InvalidAttributeNameError, b as MAX_STRING_BYTES, c as TooManyAttributesError, d as DECIMAL_SCALE, f as DECIMAL_UNIT, g as MAX_ATTRIBUTES, h as Attributes, i as ConflictingMutationError, j as key, k as decUnits, l as UnknownAttributeTypeError, m as AttributeSchema, n as isValidAttributeName, o as InvalidValueError, p as AttributeInputs, q as U256Value, r as validateAttributeName, s as MissingValueError, t as MAX_NAME_BYTES, u as UntypedValueError, v as I32_MAX, w as addr, x as U256_MAX, y as I32_MIN, z as BoolValue } from "./index-Cd2aaWme.js";
|
|
2
|
+
import { a as SaltInput, c as ENTITY_EVENTS_ABI, d as InvalidExpiryError, f as InvalidSaltError, i as NO_SALT, l as EntityEventName, n as OperationType, o as predictEntityKey, p as NoRandomSourceError, r as MAX_SALT, s as randomSalt, t as MAX_EXPIRES_AT, u as InvalidCreationFlagsError } from "./index-ezMZ2-JH.js";
|
|
3
|
+
import { a as ResolvedExpiry, i as Lifetime, n as Expiry, o as resolveExpiry, r as ExpiryContext, s as toBlocks, t as EncodedExpiry } from "./expiry-BxOlvVWC.js";
|
|
4
|
+
import { i as encodeCreationFlags, n as ResolvedCreationFlags, r as decodeCreationFlags, t as CreationFlags } from "./flags-wmcMoAnN.js";
|
|
5
|
+
import { A as EntityFields, F as RpcCreationFlags, I as RpcEntity, L as RpcQueryOptions, M as ArkivRpcSchema, N as RpcAttribute, P as RpcAttributeSchemaEntry, R as RpcSelect, d as Expression, i as SelectArg, j as ArkivClient, k as Entity, n as FullEntity, r as ProjectedEntity, t as EntitySelection } from "./selection-ox7zdtVm.js";
|
|
6
|
+
import { t as SelectQueryBuilder } from "./index-BKB875Um.js";
|
|
7
|
+
import { C as QueryOptions, D as PredictedEntityKey, E as PredictEntityKeysReturnType, O as GetBlockTimingReturnType, S as OwnershipTransferredEvent, T as PredictEntityKeysParameters, _ as EntityDeletedEvent, a as ExecuteBatchParameters, b as EntityPatchedEvent, c as PatchEntityReturnType, d as DeleteEntityParameters, f as DeleteEntityReturnType, g as EntityCreatedEvent, h as WatchEntityEventsParameters, i as MimeType, l as ExtendEntityParameters, m as CreateEntityReturnType, n as ChangeOwnershipReturnType, o as ExecuteBatchReturnType, p as CreateEntityParameters, r as TxParams, s as PatchEntityParameters, t as ChangeOwnershipParameters, u as ExtendEntityReturnType, v as EntityEvent, w as QueryReturnType, x as ExpiryExtendedEvent, y as EntityEventContext } from "./changeOwnership-B0ar96ub.js";
|
|
8
|
+
import { i as ExpirationTime, n as stringToPayload, r as DeadlineOptions, t as jsonToPayload } from "./payload-CGvVPZQX.js";
|
|
9
|
+
import { Account, Address, Chain, Client, Hex, ParseAccount, Prettify, PublicActions, PublicClientConfig, RpcSchema, Transport, WalletActions, WalletClientConfig } from "viem";
|
|
12
10
|
|
|
13
|
-
//#region src/clients/decorators/arkivAdvanced.d.ts
|
|
14
|
-
/**
|
|
15
|
-
* The read-only half of the advanced path — checking on a transaction and decoding its result —
|
|
16
|
-
* which needs no account, so a Public Client carries it too.
|
|
17
|
-
*
|
|
18
|
-
* Every action here costs at most one RPC call, and says exactly which.
|
|
19
|
-
*/
|
|
20
|
-
type PublicAdvancedActions = {
|
|
21
|
-
/**
|
|
22
|
-
* Asks the chain — once — whether a transaction has landed. Exactly one
|
|
23
|
-
* `eth_getTransactionReceipt`, never a poll: an unmined transaction comes back as
|
|
24
|
-
* `{ status: "pending" }` and the schedule stays yours.
|
|
25
|
-
*
|
|
26
|
-
* @param txHash - The transaction hash returned by `sendMutation` (or any other send)
|
|
27
|
-
* @returns `{ status: "pending" }`, or `{ status: "success" | "reverted", blockNumber }`
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* const { status } = await client.advanced.pingTransaction(txHash)
|
|
31
|
-
* if (status === "pending") scheduleAnotherPing()
|
|
32
|
-
*/
|
|
33
|
-
pingTransaction: (txHash: Hash) => Promise<PingTransactionReturnType>;
|
|
34
|
-
/**
|
|
35
|
-
* Fetches a transaction's receipt — once — and decodes what the mutation did: created keys and
|
|
36
|
-
* expiries, plus the keys of everything patched, deleted, extended or handed over. One
|
|
37
|
-
* `eth_getTransactionReceipt`; `{ status: "pending" }` if not mined yet. No revert diagnosis is
|
|
38
|
-
* run on a `reverted` result — that extra call is yours to spend or skip.
|
|
39
|
-
*
|
|
40
|
-
* @param txHash - The transaction hash
|
|
41
|
-
* @returns The decoded {@link MutationResult}, or `{ status: "pending" }`
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* const result = await client.advanced.getMutationResult(txHash)
|
|
45
|
-
* if (result.status === "success") console.log(result.createdEntities)
|
|
46
|
-
*/
|
|
47
|
-
getMutationResult: (txHash: Hash) => Promise<GetMutationResultReturnType>;
|
|
48
|
-
/**
|
|
49
|
-
* Decodes a receipt you already hold into a {@link MutationResult}. **Zero RPC calls** — for
|
|
50
|
-
* receipts that reached you through your own `waitForTransactionReceipt`, a block watcher, or a
|
|
51
|
-
* webhook.
|
|
52
|
-
*
|
|
53
|
-
* @param receipt - The transaction receipt
|
|
54
|
-
* @returns The decoded {@link MutationResult}
|
|
55
|
-
*/
|
|
56
|
-
decodeMutationResult: (receipt: TransactionReceipt) => MutationResult;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* The advanced path on a Wallet Client: build, send, ping and read results as separate steps, each
|
|
60
|
-
* costing the minimum number of RPC calls — down to one per transaction when you supply what the
|
|
61
|
-
* SDK would otherwise look up.
|
|
62
|
-
*
|
|
63
|
-
* The everyday actions (`createEntity`, `mutateEntities`, …) bundle send + wait + decode and are
|
|
64
|
-
* the right default. This namespace unbundles them for callers optimising their RPC budget.
|
|
65
|
-
*
|
|
66
|
-
* @example Minimal-call flow: one send, one ping, done.
|
|
67
|
-
* const { txHash } = await client.advanced.sendMutation(
|
|
68
|
-
* { creates: [{ payload, contentType: "application/json", expires }] },
|
|
69
|
-
* { currentBlock, txParams: { nonce, gas: 1_000_000n, maxFeePerGas, maxPriorityFeePerGas } },
|
|
70
|
-
* ) // exactly 1 RPC call: eth_sendRawTransaction
|
|
71
|
-
* // ... later, on your own schedule:
|
|
72
|
-
* const result = await client.advanced.getMutationResult(txHash) // 1 RPC call
|
|
73
|
-
* if (result.status === "success") console.log(result.createdEntities)
|
|
74
|
-
*/
|
|
75
|
-
type WalletAdvancedActions = PublicAdvancedActions & {
|
|
76
|
-
/**
|
|
77
|
-
* Encodes a mutation batch without sending anything: zero RPC calls with `currentBlock` supplied
|
|
78
|
-
* (or when no expiry is relative), at most one `eth_blockNumber` otherwise. Returns the
|
|
79
|
-
* operations for `writeContract`, and the `{ to, data }` calldata for offline signing.
|
|
80
|
-
*
|
|
81
|
-
* @param data - The batch (creates, patches, deletes, extensions, ownershipChanges)
|
|
82
|
-
* @param options - Optional `currentBlock` to avoid the `eth_blockNumber` lookup
|
|
83
|
-
*/
|
|
84
|
-
buildMutation: (data: EntityMutationOps, options?: BuildMutationOptions) => Promise<BuildMutationReturnType>;
|
|
85
|
-
/**
|
|
86
|
-
* Signs and sends a mutation batch, returning the hash as soon as the transaction is submitted —
|
|
87
|
-
* no waiting, no polling, no revert diagnosis. With `currentBlock` and full `txParams` (nonce,
|
|
88
|
-
* gas, fees) supplied this is exactly one `eth_sendRawTransaction`; each omitted piece adds only
|
|
89
|
-
* the lookup viem needs to fill it.
|
|
90
|
-
*
|
|
91
|
-
* @param data - The batch (creates, patches, deletes, extensions, ownershipChanges)
|
|
92
|
-
* @param options - Optional `currentBlock` and `txParams`
|
|
93
|
-
* @returns The transaction hash and the batch's per-kind operation counts
|
|
94
|
-
*
|
|
95
|
-
* @example
|
|
96
|
-
* const { txHash } = await client.advanced.sendMutation({
|
|
97
|
-
* creates: [{ payload, contentType: "application/json", expires: ExpirationTime.atBlock(1_200_000n) }],
|
|
98
|
-
* })
|
|
99
|
-
*/
|
|
100
|
-
sendMutation: (data: EntityMutationOps, options?: SendMutationOptions) => Promise<SendMutationReturnType>;
|
|
101
|
-
};
|
|
102
|
-
//#endregion
|
|
103
11
|
//#region src/clients/decorators/arkivPublic.d.ts
|
|
104
12
|
type PublicArkivActions<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = Pick<PublicActions<transport, chain, account>, "getBalance" | "getBlock" | "getBlockNumber" | "getChainId" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "waitForTransactionReceipt" | "watchEvent"> & {
|
|
105
13
|
/**
|
|
106
14
|
* Returns the entity with the given key.
|
|
107
15
|
*
|
|
108
|
-
* -
|
|
16
|
+
* - JSON-RPC Methods: `arkiv_query`
|
|
109
17
|
*
|
|
110
18
|
* @param key - The entity key (hex string)
|
|
111
19
|
* @returns The entity with the given key, with every field populated. {@link FullEntity}
|
|
112
20
|
*
|
|
21
|
+
* @throws {InvalidValueError} If the key is not 32 bytes.
|
|
22
|
+
* @throws {NoEntityFoundError} If no live entity has that key — it never existed, or it was
|
|
23
|
+
* deleted or has expired.
|
|
24
|
+
*
|
|
113
25
|
* @example
|
|
114
26
|
* import { createPublicClient } from "@arkiv-network/sdk"
|
|
115
27
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
@@ -135,7 +47,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
135
47
|
* read entities. You declare up front which parts of an entity you want returned, so results
|
|
136
48
|
* always contain exactly the data you asked for.
|
|
137
49
|
*
|
|
138
|
-
* -
|
|
50
|
+
* - JSON-RPC Methods: `arkiv_query`
|
|
139
51
|
*
|
|
140
52
|
* @param selection - What to include in the results. Omit it (or pass `"*"`) to select everything,
|
|
141
53
|
* or pass an object to select specific parts (at least one field is required). Every part is
|
|
@@ -195,7 +107,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
195
107
|
/**
|
|
196
108
|
* Runs one query and returns one page, with no builder in between.
|
|
197
109
|
*
|
|
198
|
-
* Use {@link select} for anything typed — this returns full {@link Entity} objects whatever the
|
|
110
|
+
* Use {@link PublicArkivActions.select} for anything typed — this returns full {@link Entity} objects whatever the
|
|
199
111
|
* selection, and takes a raw string as an escape hatch for a query built elsewhere. A raw string
|
|
200
112
|
* goes to the node exactly as written, with none of the name, type or operator checks the
|
|
201
113
|
* expression combinators apply.
|
|
@@ -286,7 +198,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
286
198
|
* import { key } from "@arkiv-network/sdk/attr"
|
|
287
199
|
*
|
|
288
200
|
* const [parent, child] = await client.predictEntityKeys({ owner: account.address, count: 2 })
|
|
289
|
-
* await wallet.
|
|
201
|
+
* await wallet.executeBatch({
|
|
290
202
|
* creates: [
|
|
291
203
|
* { payload, contentType, expires, salt: parent.salt },
|
|
292
204
|
* {
|
|
@@ -299,7 +211,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
299
211
|
* ],
|
|
300
212
|
* })
|
|
301
213
|
*/
|
|
302
|
-
predictEntityKeys: <const TCount extends number = number, const TSalts extends readonly
|
|
214
|
+
predictEntityKeys: <const TCount extends number = number, const TSalts extends readonly SaltInput[] | undefined = undefined>(parameters: PredictEntityKeysParameters<TCount, TSalts>) => Promise<PredictEntityKeysReturnType<TCount, TSalts>>;
|
|
303
215
|
/**
|
|
304
216
|
* Returns the current block timing.
|
|
305
217
|
* @returns The current block timing. {@link GetBlockTimingReturnType}
|
|
@@ -320,11 +232,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
320
232
|
* // blockDuration: 2, // in seconds
|
|
321
233
|
* // }
|
|
322
234
|
*/
|
|
323
|
-
getBlockTiming: () => Promise<
|
|
324
|
-
currentBlock: bigint;
|
|
325
|
-
currentBlockTime: number;
|
|
326
|
-
blockDuration: number;
|
|
327
|
-
}>;
|
|
235
|
+
getBlockTiming: () => Promise<GetBlockTimingReturnType>;
|
|
328
236
|
/**
|
|
329
237
|
* Watches entity events, calling the handlers you pass as they arrive.
|
|
330
238
|
*
|
|
@@ -352,28 +260,19 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
352
260
|
* unwatch() // stop watching
|
|
353
261
|
*/
|
|
354
262
|
watchEntityEvents: (parameters: WatchEntityEventsParameters) => () => void;
|
|
355
|
-
/**
|
|
356
|
-
* The read-only half of the advanced path: check on a transaction and decode its result with at
|
|
357
|
-
* most one RPC call per action — so a process that holds nothing but a transaction hash can
|
|
358
|
-
* follow it without a wallet. {@link PublicAdvancedActions}
|
|
359
|
-
*
|
|
360
|
-
* @example
|
|
361
|
-
* const { status } = await client.advanced.pingTransaction(txHash) // 1 eth_getTransactionReceipt
|
|
362
|
-
*/
|
|
363
|
-
advanced: PublicAdvancedActions;
|
|
364
263
|
};
|
|
365
264
|
//#endregion
|
|
366
265
|
//#region src/clients/createPublicClient.d.ts
|
|
367
266
|
type PublicArkivClient<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, accountOrAddress extends Account | undefined = undefined, rpcSchema extends RpcSchema | undefined = ArkivRpcSchema> = Prettify<Client<transport, chain, accountOrAddress, rpcSchema, PublicArkivActions<transport, chain>>>;
|
|
368
267
|
/**
|
|
369
|
-
* Creates a Public Client with a given [Transport](https://viem.sh/docs/clients/intro) configured for a [Chain](https://viem.sh/docs/
|
|
370
|
-
*
|
|
371
|
-
* - Docs: https://docs.arkiv.network/ts-sdk/clients/public
|
|
268
|
+
* Creates a Public Client with a given [Transport](https://viem.sh/docs/clients/intro) configured for a [Chain](https://viem.sh/docs/chains/introduction).
|
|
372
269
|
*
|
|
373
|
-
* A Public Client is an interface to "public" [Ethereum JSON-RPC API](https://ethereum.org/en/developers/docs/apis/json-rpc/)
|
|
270
|
+
* A Public Client is an interface to the "public" [Ethereum JSON-RPC API](https://ethereum.org/en/developers/docs/apis/json-rpc/)
|
|
271
|
+
* and the Arkiv JSON-RPC API — retrieving block numbers and transactions, reading from
|
|
272
|
+
* contracts, and querying entities — through {@link PublicArkivActions}.
|
|
374
273
|
*
|
|
375
274
|
* @param parameters - Configuration object for the public client (chain, transport, etc.)
|
|
376
|
-
* @returns
|
|
275
|
+
* @returns An Arkiv Public Client. {@link PublicArkivClient}
|
|
377
276
|
*
|
|
378
277
|
* @example
|
|
379
278
|
* import { createPublicClient } from "@arkiv-network/sdk"
|
|
@@ -392,12 +291,12 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
392
291
|
/**
|
|
393
292
|
* Creates a new entity.
|
|
394
293
|
*
|
|
395
|
-
* -
|
|
396
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
294
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
397
295
|
*
|
|
398
296
|
* @param data - The entity creation parameters
|
|
399
297
|
* @param txParams - Optional transaction parameters
|
|
400
|
-
* @returns The
|
|
298
|
+
* @returns The new entity's key, the transaction hash, and the block it is expected to
|
|
299
|
+
* expire at. {@link CreateEntityReturnType}
|
|
401
300
|
*
|
|
402
301
|
* @throws {InvalidExpiryError} If the expiry exceeds a protocol bound or would leave the
|
|
403
302
|
* entity dead on arrival.
|
|
@@ -409,8 +308,10 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
409
308
|
* import { i32 } from "@arkiv-network/sdk/attr"
|
|
410
309
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
411
310
|
* import { http } from "viem"
|
|
311
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
412
312
|
*
|
|
413
313
|
* const client = createWalletClient({
|
|
314
|
+
* account: privateKeyToAccount("0x..."),
|
|
414
315
|
* chain: cheesecake,
|
|
415
316
|
* transport: http(),
|
|
416
317
|
* })
|
|
@@ -426,12 +327,11 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
426
327
|
* Applies a patch to the entity with the given key: sets some fields, unsets others, and leaves
|
|
427
328
|
* everything it does not name alone.
|
|
428
329
|
*
|
|
429
|
-
* -
|
|
430
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
330
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
431
331
|
*
|
|
432
332
|
* @param data - The entity key and the mutations to apply
|
|
433
333
|
* @param txParams - Optional transaction parameters
|
|
434
|
-
* @returns The entity key and the transaction hash
|
|
334
|
+
* @returns The patched entity's key and the transaction hash. {@link PatchEntityReturnType}
|
|
435
335
|
*
|
|
436
336
|
* @throws {EmptyPatchError} If the patch has nothing to apply.
|
|
437
337
|
* @throws {ConflictingMutationError} If a name appears in both `set` and `unset`.
|
|
@@ -443,8 +343,10 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
443
343
|
* import { i32 } from "@arkiv-network/sdk/attr"
|
|
444
344
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
445
345
|
* import { http } from "viem"
|
|
346
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
446
347
|
*
|
|
447
348
|
* const client = createWalletClient({
|
|
349
|
+
* account: privateKeyToAccount("0x..."),
|
|
448
350
|
* chain: cheesecake,
|
|
449
351
|
* transport: http(),
|
|
450
352
|
* })
|
|
@@ -460,19 +362,20 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
460
362
|
/**
|
|
461
363
|
* Deletes the entity with the given key.
|
|
462
364
|
*
|
|
463
|
-
* -
|
|
464
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
365
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
465
366
|
*
|
|
466
367
|
* @param data - The entity deletion parameters
|
|
467
368
|
* @param txParams - Optional transaction parameters
|
|
468
|
-
* @returns The deleted entity
|
|
369
|
+
* @returns The deleted entity's key and the transaction hash. {@link DeleteEntityReturnType}
|
|
469
370
|
*
|
|
470
371
|
* @example
|
|
471
372
|
* import { createWalletClient } from "@arkiv-network/sdk"
|
|
472
373
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
473
374
|
* import { http } from "viem"
|
|
375
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
474
376
|
*
|
|
475
377
|
* const client = createWalletClient({
|
|
378
|
+
* account: privateKeyToAccount("0x..."),
|
|
476
379
|
* chain: cheesecake,
|
|
477
380
|
* transport: http(),
|
|
478
381
|
* })
|
|
@@ -487,12 +390,12 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
487
390
|
* than adding to what the entity has left, and `atBlock` / `atDate` pin an absolute deadline.
|
|
488
391
|
* The engine rejects an extension that would not move the expiry later.
|
|
489
392
|
*
|
|
490
|
-
* -
|
|
491
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
393
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
492
394
|
*
|
|
493
395
|
* @param data - The entity key and its new lifetime
|
|
494
396
|
* @param txParams - Optional transaction parameters
|
|
495
|
-
* @returns The entity key, transaction hash, and the block it is now expected to expire
|
|
397
|
+
* @returns The entity's key, the transaction hash, and the block it is now expected to expire
|
|
398
|
+
* at. {@link ExtendEntityReturnType}
|
|
496
399
|
*
|
|
497
400
|
* @throws {InvalidExpiryError} If the expiry is malformed, exceeds a protocol bound, or would
|
|
498
401
|
* leave the entity dead on arrival.
|
|
@@ -501,8 +404,10 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
501
404
|
* import { createWalletClient, ExpirationTime } from "@arkiv-network/sdk"
|
|
502
405
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
503
406
|
* import { http } from "viem"
|
|
407
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
504
408
|
*
|
|
505
409
|
* const client = createWalletClient({
|
|
410
|
+
* account: privateKeyToAccount("0x..."),
|
|
506
411
|
* chain: cheesecake,
|
|
507
412
|
* transport: http(),
|
|
508
413
|
* })
|
|
@@ -513,28 +418,28 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
513
418
|
*/
|
|
514
419
|
extendEntity: (data: ExtendEntityParameters, txParams?: TxParams) => Promise<ExtendEntityReturnType>;
|
|
515
420
|
/**
|
|
516
|
-
*
|
|
421
|
+
* Hands the entity with the given key to a new owner.
|
|
517
422
|
*
|
|
518
|
-
* -
|
|
519
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
423
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
520
424
|
*
|
|
521
425
|
* @param data - The ownership change parameters
|
|
522
426
|
* @param txParams - Optional transaction parameters
|
|
523
|
-
* @returns The entity
|
|
427
|
+
* @returns The entity's key and the transaction hash. {@link ChangeOwnershipReturnType}
|
|
524
428
|
*/
|
|
525
429
|
changeOwnership: (data: ChangeOwnershipParameters, txParams?: TxParams) => Promise<ChangeOwnershipReturnType>;
|
|
526
430
|
/**
|
|
527
|
-
*
|
|
431
|
+
* Applies a batch of entity operations — creates, patches, deletes, extensions and ownership
|
|
432
|
+
* transfers — in one transaction.
|
|
528
433
|
*
|
|
529
|
-
* -
|
|
530
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
434
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
531
435
|
*
|
|
532
436
|
* Every operation lands in one transaction, so the whole batch applies or none of it does.
|
|
533
437
|
* At least one operation is required.
|
|
534
438
|
*
|
|
535
|
-
* @param data - The
|
|
439
|
+
* @param data - The batch parameters (creates, patches, deletes, extensions, ownershipChanges)
|
|
536
440
|
* @param txParams - Optional transaction parameters
|
|
537
|
-
* @returns The
|
|
441
|
+
* @returns The transaction hash, plus the keys touched by each kind of operation.
|
|
442
|
+
* {@link ExecuteBatchReturnType}
|
|
538
443
|
*
|
|
539
444
|
* @throws {InvalidExpiryError} If an expiry exceeds a protocol bound or would leave the entity
|
|
540
445
|
* dead on arrival.
|
|
@@ -544,12 +449,14 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
544
449
|
* import { createWalletClient, ExpirationTime, jsonToPayload } from "@arkiv-network/sdk"
|
|
545
450
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
546
451
|
* import { http } from "viem"
|
|
452
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
547
453
|
*
|
|
548
454
|
* const client = createWalletClient({
|
|
455
|
+
* account: privateKeyToAccount("0x..."),
|
|
549
456
|
* chain: cheesecake,
|
|
550
457
|
* transport: http(),
|
|
551
458
|
* })
|
|
552
|
-
* const { txHash, createdEntities } = await client.
|
|
459
|
+
* const { txHash, createdEntities } = await client.executeBatch({
|
|
553
460
|
* creates: [{
|
|
554
461
|
* payload: jsonToPayload({ entityType: "testType", entityId: "testId" }),
|
|
555
462
|
* contentType: "application/json",
|
|
@@ -565,35 +472,21 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
565
472
|
* ownershipChanges: [{ entityKey: keyToHandOver, newOwner }],
|
|
566
473
|
* })
|
|
567
474
|
*/
|
|
568
|
-
|
|
569
|
-
/**
|
|
570
|
-
* The advanced path: build, send, ping and read mutation results as separate steps, each
|
|
571
|
-
* costing the minimum number of RPC calls. Use it when you are optimising your RPC budget;
|
|
572
|
-
* the everyday actions above remain the right default. {@link WalletAdvancedActions}
|
|
573
|
-
*
|
|
574
|
-
* @example
|
|
575
|
-
* const { txHash } = await client.advanced.sendMutation({ creates: [entity] }) // no waiting
|
|
576
|
-
* // ... later, one eth_getTransactionReceipt on your own schedule:
|
|
577
|
-
* const result = await client.advanced.getMutationResult(txHash)
|
|
578
|
-
* if (result.status === "success") console.log(result.createdEntities)
|
|
579
|
-
*/
|
|
580
|
-
advanced: WalletAdvancedActions;
|
|
475
|
+
executeBatch: (data: ExecuteBatchParameters, txParams?: TxParams) => Promise<ExecuteBatchReturnType>;
|
|
581
476
|
};
|
|
582
477
|
//#endregion
|
|
583
478
|
//#region src/clients/createWalletClient.d.ts
|
|
584
479
|
type WalletArkivClient<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, rpcSchema extends RpcSchema | undefined = ArkivRpcSchema> = Prettify<Client<transport, chain, account, rpcSchema, WalletArkivActions<transport, chain, account>>>;
|
|
585
480
|
/**
|
|
586
481
|
* Creates a Wallet Client with a given [Transport](https://viem.sh/docs/clients/intro) configured
|
|
587
|
-
* for a [Chain](https://viem.sh/docs/
|
|
588
|
-
*
|
|
589
|
-
* - Docs: https://docs.arkiv.network/ts-sdk/clients/wallet
|
|
482
|
+
* for a [Chain](https://viem.sh/docs/chains/introduction) and an account.
|
|
590
483
|
*
|
|
591
484
|
* A Wallet Client signs and sends transactions, so it carries an `account` and exposes everything
|
|
592
485
|
* that mutates state — `createEntity`, `patchEntity`, `deleteEntity`, `extendEntity`,
|
|
593
|
-
* `changeOwnership` and `
|
|
486
|
+
* `changeOwnership` and `executeBatch` — on top of the read actions a Public Client has.
|
|
594
487
|
*
|
|
595
488
|
* @param parameters - Configuration object for the wallet client (chain, transport, account, etc.)
|
|
596
|
-
* @returns
|
|
489
|
+
* @returns An Arkiv Wallet Client. {@link WalletArkivClient}
|
|
597
490
|
*
|
|
598
491
|
* @example
|
|
599
492
|
* import { createWalletClient } from "@arkiv-network/sdk"
|
|
@@ -640,5 +533,5 @@ declare class InvalidContentTypeError extends Error {
|
|
|
640
533
|
*/
|
|
641
534
|
declare function chainFromName(name: string): Chain;
|
|
642
535
|
//#endregion
|
|
643
|
-
export { AddrValue, AnyArkivValue, type ArkivClient, ArkivRpcSchema, ArkivValue, AttributeInputs, AttributeSchema, Attributes, BoolValue,
|
|
536
|
+
export { AddrValue, AnyArkivValue, type ArkivClient, ArkivRpcSchema, ArkivValue, AttributeInputs, AttributeSchema, Attributes, BoolValue, Bytes32Value, BytesValue, ChangeOwnershipParameters, ChangeOwnershipReturnType, ConflictingMutationError, CreateEntityParameters, CreateEntityReturnType, CreationFlags, DECIMAL_SCALE, DECIMAL_UNIT, type DeadlineOptions, DecValue, DeleteEntityParameters, DeleteEntityReturnType, ENTITY_EVENTS_ABI, EmptyPatchError, EncodedExpiry, Entity, EntityCreatedEvent, EntityDeletedEvent, EntityEvent, EntityEventContext, EntityEventName, EntityFields, EntityMutationError, EntityPatchedEvent, ExecuteBatchParameters, ExecuteBatchReturnType, ExpirationTime, Expiry, ExpiryContext, ExpiryExtendedEvent, ExtendEntityParameters, ExtendEntityReturnType, GetBlockTimingReturnType, I32Value, I32_MAX, I32_MIN, InvalidAttributeNameError, InvalidContentTypeError, InvalidCreationFlagsError, InvalidExpiryError, InvalidSaltError, InvalidValueError, KeyValue, Lifetime, MAX_ATTRIBUTES, MAX_EXPIRES_AT, MAX_NAME_BYTES, MAX_PAYLOAD_BYTES, MAX_SALT, MAX_STRING_BYTES, MimeType, MissingValueError, NO_SALT, NoEntityFoundError, NoMoreResultsError, NoRandomSourceError, OperationType, OwnershipTransferredEvent, PatchEntityParameters, PatchEntityReturnType, PredictEntityKeysParameters, PredictEntityKeysReturnType, PredictedEntityKey, type PublicArkivActions, type PublicArkivClient, QueryOptions, QueryReturnType, ResolvedCreationFlags, ResolvedExpiry, RpcAttribute, RpcAttributeSchemaEntry, RpcCreationFlags, RpcEntity, RpcQueryOptions, RpcSelect, SaltInput, StrValue, TooManyAttributesError, TxParams, TypeTag, U256Value, U256_MAX, U64Value, U64_MAX, UnknownAttributeTypeError, UntypedValueError, UserTypeTag, ValueInput, type WalletArkivActions, type WalletArkivClient, WatchEntityEventsParameters, addr, bool, bytes32, chainFromName, createPublicClient, createWalletClient, dec, decFromUnits, decUnits, decodeCreationFlags, encodeCreationFlags, i32, isArkivValue, isValidAttributeName, jsonToPayload, key, predictEntityKey, randomSalt, resolveExpiry, str, stringToPayload, toBlocks, toValue, u256, u64, validateAttributeName };
|
|
644
537
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/clients/decorators/
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/clients/decorators/arkivPublic.ts","../src/clients/createPublicClient.ts","../src/clients/decorators/arkivWallet.ts","../src/clients/createWalletClient.ts","../src/errors.ts","../src/utils/chains.ts"],"sourcesContent":[],"mappings":"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"}
|