@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.cts
CHANGED
|
@@ -1,114 +1,27 @@
|
|
|
1
|
-
import { F as
|
|
2
|
-
import {
|
|
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-CIcHPx2j.cjs";
|
|
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-BGp2plHs.cjs";
|
|
3
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-DRV29F1r.cjs";
|
|
4
|
-
import {
|
|
5
|
-
import { A as
|
|
6
|
-
import {
|
|
7
|
-
import { a as
|
|
8
|
-
import { t as
|
|
9
|
-
import {
|
|
10
|
-
import { Account, Address, Chain, Client, Hash, Hex, ParseAccount, Prettify, PublicActions, PublicClientConfig, RpcSchema, TransactionReceipt, Transport, WalletActions, WalletClientConfig } from "viem";
|
|
4
|
+
import { i as encodeCreationFlags, n as ResolvedCreationFlags, r as decodeCreationFlags, t as CreationFlags } from "./flags-0Vl5rrHq.cjs";
|
|
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-Bv8_o-7i.cjs";
|
|
6
|
+
import { t as SelectQueryBuilder } from "./index-rINthNuU.cjs";
|
|
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-BofkLnXJ.cjs";
|
|
8
|
+
import { i as ExpirationTime, n as stringToPayload, r as DeadlineOptions, t as jsonToPayload } from "./payload-Dfu30njp.cjs";
|
|
9
|
+
import { Account, Address, Chain, Client, Hex, ParseAccount, Prettify, PublicActions, PublicClientConfig, RpcSchema, Transport, WalletActions, WalletClientConfig } from "viem";
|
|
11
10
|
|
|
12
|
-
//#region src/clients/decorators/arkivAdvanced.d.ts
|
|
13
|
-
/**
|
|
14
|
-
* The read-only half of the advanced path — checking on a transaction and decoding its result —
|
|
15
|
-
* which needs no account, so a Public Client carries it too.
|
|
16
|
-
*
|
|
17
|
-
* Every action here costs at most one RPC call, and says exactly which.
|
|
18
|
-
*/
|
|
19
|
-
type PublicAdvancedActions = {
|
|
20
|
-
/**
|
|
21
|
-
* Asks the chain — once — whether a transaction has landed. Exactly one
|
|
22
|
-
* `eth_getTransactionReceipt`, never a poll: an unmined transaction comes back as
|
|
23
|
-
* `{ status: "pending" }` and the schedule stays yours.
|
|
24
|
-
*
|
|
25
|
-
* @param txHash - The transaction hash returned by `sendMutation` (or any other send)
|
|
26
|
-
* @returns `{ status: "pending" }`, or `{ status: "success" | "reverted", blockNumber }`
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* const { status } = await client.advanced.pingTransaction(txHash)
|
|
30
|
-
* if (status === "pending") scheduleAnotherPing()
|
|
31
|
-
*/
|
|
32
|
-
pingTransaction: (txHash: Hash) => Promise<PingTransactionReturnType>;
|
|
33
|
-
/**
|
|
34
|
-
* Fetches a transaction's receipt — once — and decodes what the mutation did: created keys and
|
|
35
|
-
* expiries, plus the keys of everything patched, deleted, extended or handed over. One
|
|
36
|
-
* `eth_getTransactionReceipt`; `{ status: "pending" }` if not mined yet. No revert diagnosis is
|
|
37
|
-
* run on a `reverted` result — that extra call is yours to spend or skip.
|
|
38
|
-
*
|
|
39
|
-
* @param txHash - The transaction hash
|
|
40
|
-
* @returns The decoded {@link MutationResult}, or `{ status: "pending" }`
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* const result = await client.advanced.getMutationResult(txHash)
|
|
44
|
-
* if (result.status === "success") console.log(result.createdEntities)
|
|
45
|
-
*/
|
|
46
|
-
getMutationResult: (txHash: Hash) => Promise<GetMutationResultReturnType>;
|
|
47
|
-
/**
|
|
48
|
-
* Decodes a receipt you already hold into a {@link MutationResult}. **Zero RPC calls** — for
|
|
49
|
-
* receipts that reached you through your own `waitForTransactionReceipt`, a block watcher, or a
|
|
50
|
-
* webhook.
|
|
51
|
-
*
|
|
52
|
-
* @param receipt - The transaction receipt
|
|
53
|
-
* @returns The decoded {@link MutationResult}
|
|
54
|
-
*/
|
|
55
|
-
decodeMutationResult: (receipt: TransactionReceipt) => MutationResult;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* The advanced path on a Wallet Client: build, send, ping and read results as separate steps, each
|
|
59
|
-
* costing the minimum number of RPC calls — down to one per transaction when you supply what the
|
|
60
|
-
* SDK would otherwise look up.
|
|
61
|
-
*
|
|
62
|
-
* The everyday actions (`createEntity`, `mutateEntities`, …) bundle send + wait + decode and are
|
|
63
|
-
* the right default. This namespace unbundles them for callers optimising their RPC budget.
|
|
64
|
-
*
|
|
65
|
-
* @example Minimal-call flow: one send, one ping, done.
|
|
66
|
-
* const { txHash } = await client.advanced.sendMutation(
|
|
67
|
-
* { creates: [{ payload, contentType: "application/json", expires }] },
|
|
68
|
-
* { currentBlock, txParams: { nonce, gas: 1_000_000n, maxFeePerGas, maxPriorityFeePerGas } },
|
|
69
|
-
* ) // exactly 1 RPC call: eth_sendRawTransaction
|
|
70
|
-
* // ... later, on your own schedule:
|
|
71
|
-
* const result = await client.advanced.getMutationResult(txHash) // 1 RPC call
|
|
72
|
-
* if (result.status === "success") console.log(result.createdEntities)
|
|
73
|
-
*/
|
|
74
|
-
type WalletAdvancedActions = PublicAdvancedActions & {
|
|
75
|
-
/**
|
|
76
|
-
* Encodes a mutation batch without sending anything: zero RPC calls with `currentBlock` supplied
|
|
77
|
-
* (or when no expiry is relative), at most one `eth_blockNumber` otherwise. Returns the
|
|
78
|
-
* operations for `writeContract`, and the `{ to, data }` calldata for offline signing.
|
|
79
|
-
*
|
|
80
|
-
* @param data - The batch (creates, patches, deletes, extensions, ownershipChanges)
|
|
81
|
-
* @param options - Optional `currentBlock` to avoid the `eth_blockNumber` lookup
|
|
82
|
-
*/
|
|
83
|
-
buildMutation: (data: EntityMutationOps, options?: BuildMutationOptions) => Promise<BuildMutationReturnType>;
|
|
84
|
-
/**
|
|
85
|
-
* Signs and sends a mutation batch, returning the hash as soon as the transaction is submitted —
|
|
86
|
-
* no waiting, no polling, no revert diagnosis. With `currentBlock` and full `txParams` (nonce,
|
|
87
|
-
* gas, fees) supplied this is exactly one `eth_sendRawTransaction`; each omitted piece adds only
|
|
88
|
-
* the lookup viem needs to fill it.
|
|
89
|
-
*
|
|
90
|
-
* @param data - The batch (creates, patches, deletes, extensions, ownershipChanges)
|
|
91
|
-
* @param options - Optional `currentBlock` and `txParams`
|
|
92
|
-
* @returns The transaction hash and the batch's per-kind operation counts
|
|
93
|
-
*
|
|
94
|
-
* @example
|
|
95
|
-
* const { txHash } = await client.advanced.sendMutation({
|
|
96
|
-
* creates: [{ payload, contentType: "application/json", expires: ExpirationTime.atBlock(1_200_000n) }],
|
|
97
|
-
* })
|
|
98
|
-
*/
|
|
99
|
-
sendMutation: (data: EntityMutationOps, options?: SendMutationOptions) => Promise<SendMutationReturnType>;
|
|
100
|
-
};
|
|
101
|
-
//#endregion
|
|
102
11
|
//#region src/clients/decorators/arkivPublic.d.ts
|
|
103
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"> & {
|
|
104
13
|
/**
|
|
105
14
|
* Returns the entity with the given key.
|
|
106
15
|
*
|
|
107
|
-
* -
|
|
16
|
+
* - JSON-RPC Methods: `arkiv_query`
|
|
108
17
|
*
|
|
109
18
|
* @param key - The entity key (hex string)
|
|
110
19
|
* @returns The entity with the given key, with every field populated. {@link FullEntity}
|
|
111
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
|
+
*
|
|
112
25
|
* @example
|
|
113
26
|
* import { createPublicClient } from "@arkiv-network/sdk"
|
|
114
27
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
@@ -134,7 +47,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
134
47
|
* read entities. You declare up front which parts of an entity you want returned, so results
|
|
135
48
|
* always contain exactly the data you asked for.
|
|
136
49
|
*
|
|
137
|
-
* -
|
|
50
|
+
* - JSON-RPC Methods: `arkiv_query`
|
|
138
51
|
*
|
|
139
52
|
* @param selection - What to include in the results. Omit it (or pass `"*"`) to select everything,
|
|
140
53
|
* or pass an object to select specific parts (at least one field is required). Every part is
|
|
@@ -194,7 +107,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
194
107
|
/**
|
|
195
108
|
* Runs one query and returns one page, with no builder in between.
|
|
196
109
|
*
|
|
197
|
-
* 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
|
|
198
111
|
* selection, and takes a raw string as an escape hatch for a query built elsewhere. A raw string
|
|
199
112
|
* goes to the node exactly as written, with none of the name, type or operator checks the
|
|
200
113
|
* expression combinators apply.
|
|
@@ -285,7 +198,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
285
198
|
* import { key } from "@arkiv-network/sdk/attr"
|
|
286
199
|
*
|
|
287
200
|
* const [parent, child] = await client.predictEntityKeys({ owner: account.address, count: 2 })
|
|
288
|
-
* await wallet.
|
|
201
|
+
* await wallet.executeBatch({
|
|
289
202
|
* creates: [
|
|
290
203
|
* { payload, contentType, expires, salt: parent.salt },
|
|
291
204
|
* {
|
|
@@ -298,7 +211,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
298
211
|
* ],
|
|
299
212
|
* })
|
|
300
213
|
*/
|
|
301
|
-
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>>;
|
|
302
215
|
/**
|
|
303
216
|
* Returns the current block timing.
|
|
304
217
|
* @returns The current block timing. {@link GetBlockTimingReturnType}
|
|
@@ -319,11 +232,7 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
319
232
|
* // blockDuration: 2, // in seconds
|
|
320
233
|
* // }
|
|
321
234
|
*/
|
|
322
|
-
getBlockTiming: () => Promise<
|
|
323
|
-
currentBlock: bigint;
|
|
324
|
-
currentBlockTime: number;
|
|
325
|
-
blockDuration: number;
|
|
326
|
-
}>;
|
|
235
|
+
getBlockTiming: () => Promise<GetBlockTimingReturnType>;
|
|
327
236
|
/**
|
|
328
237
|
* Watches entity events, calling the handlers you pass as they arrive.
|
|
329
238
|
*
|
|
@@ -351,28 +260,19 @@ type PublicArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
351
260
|
* unwatch() // stop watching
|
|
352
261
|
*/
|
|
353
262
|
watchEntityEvents: (parameters: WatchEntityEventsParameters) => () => void;
|
|
354
|
-
/**
|
|
355
|
-
* The read-only half of the advanced path: check on a transaction and decode its result with at
|
|
356
|
-
* most one RPC call per action — so a process that holds nothing but a transaction hash can
|
|
357
|
-
* follow it without a wallet. {@link PublicAdvancedActions}
|
|
358
|
-
*
|
|
359
|
-
* @example
|
|
360
|
-
* const { status } = await client.advanced.pingTransaction(txHash) // 1 eth_getTransactionReceipt
|
|
361
|
-
*/
|
|
362
|
-
advanced: PublicAdvancedActions;
|
|
363
263
|
};
|
|
364
264
|
//#endregion
|
|
365
265
|
//#region src/clients/createPublicClient.d.ts
|
|
366
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>>>;
|
|
367
267
|
/**
|
|
368
|
-
* Creates a Public Client with a given [Transport](https://viem.sh/docs/clients/intro) configured for a [Chain](https://viem.sh/docs/
|
|
369
|
-
*
|
|
370
|
-
* - 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).
|
|
371
269
|
*
|
|
372
|
-
* 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}.
|
|
373
273
|
*
|
|
374
274
|
* @param parameters - Configuration object for the public client (chain, transport, etc.)
|
|
375
|
-
* @returns
|
|
275
|
+
* @returns An Arkiv Public Client. {@link PublicArkivClient}
|
|
376
276
|
*
|
|
377
277
|
* @example
|
|
378
278
|
* import { createPublicClient } from "@arkiv-network/sdk"
|
|
@@ -391,12 +291,12 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
391
291
|
/**
|
|
392
292
|
* Creates a new entity.
|
|
393
293
|
*
|
|
394
|
-
* -
|
|
395
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
294
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
396
295
|
*
|
|
397
296
|
* @param data - The entity creation parameters
|
|
398
297
|
* @param txParams - Optional transaction parameters
|
|
399
|
-
* @returns The
|
|
298
|
+
* @returns The new entity's key, the transaction hash, and the block it is expected to
|
|
299
|
+
* expire at. {@link CreateEntityReturnType}
|
|
400
300
|
*
|
|
401
301
|
* @throws {InvalidExpiryError} If the expiry exceeds a protocol bound or would leave the
|
|
402
302
|
* entity dead on arrival.
|
|
@@ -408,8 +308,10 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
408
308
|
* import { i32 } from "@arkiv-network/sdk/attr"
|
|
409
309
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
410
310
|
* import { http } from "viem"
|
|
311
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
411
312
|
*
|
|
412
313
|
* const client = createWalletClient({
|
|
314
|
+
* account: privateKeyToAccount("0x..."),
|
|
413
315
|
* chain: cheesecake,
|
|
414
316
|
* transport: http(),
|
|
415
317
|
* })
|
|
@@ -425,12 +327,11 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
425
327
|
* Applies a patch to the entity with the given key: sets some fields, unsets others, and leaves
|
|
426
328
|
* everything it does not name alone.
|
|
427
329
|
*
|
|
428
|
-
* -
|
|
429
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
330
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
430
331
|
*
|
|
431
332
|
* @param data - The entity key and the mutations to apply
|
|
432
333
|
* @param txParams - Optional transaction parameters
|
|
433
|
-
* @returns The entity key and the transaction hash
|
|
334
|
+
* @returns The patched entity's key and the transaction hash. {@link PatchEntityReturnType}
|
|
434
335
|
*
|
|
435
336
|
* @throws {EmptyPatchError} If the patch has nothing to apply.
|
|
436
337
|
* @throws {ConflictingMutationError} If a name appears in both `set` and `unset`.
|
|
@@ -442,8 +343,10 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
442
343
|
* import { i32 } from "@arkiv-network/sdk/attr"
|
|
443
344
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
444
345
|
* import { http } from "viem"
|
|
346
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
445
347
|
*
|
|
446
348
|
* const client = createWalletClient({
|
|
349
|
+
* account: privateKeyToAccount("0x..."),
|
|
447
350
|
* chain: cheesecake,
|
|
448
351
|
* transport: http(),
|
|
449
352
|
* })
|
|
@@ -459,19 +362,20 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
459
362
|
/**
|
|
460
363
|
* Deletes the entity with the given key.
|
|
461
364
|
*
|
|
462
|
-
* -
|
|
463
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
365
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
464
366
|
*
|
|
465
367
|
* @param data - The entity deletion parameters
|
|
466
368
|
* @param txParams - Optional transaction parameters
|
|
467
|
-
* @returns The deleted entity
|
|
369
|
+
* @returns The deleted entity's key and the transaction hash. {@link DeleteEntityReturnType}
|
|
468
370
|
*
|
|
469
371
|
* @example
|
|
470
372
|
* import { createWalletClient } from "@arkiv-network/sdk"
|
|
471
373
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
472
374
|
* import { http } from "viem"
|
|
375
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
473
376
|
*
|
|
474
377
|
* const client = createWalletClient({
|
|
378
|
+
* account: privateKeyToAccount("0x..."),
|
|
475
379
|
* chain: cheesecake,
|
|
476
380
|
* transport: http(),
|
|
477
381
|
* })
|
|
@@ -486,12 +390,12 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
486
390
|
* than adding to what the entity has left, and `atBlock` / `atDate` pin an absolute deadline.
|
|
487
391
|
* The engine rejects an extension that would not move the expiry later.
|
|
488
392
|
*
|
|
489
|
-
* -
|
|
490
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
393
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
491
394
|
*
|
|
492
395
|
* @param data - The entity key and its new lifetime
|
|
493
396
|
* @param txParams - Optional transaction parameters
|
|
494
|
-
* @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}
|
|
495
399
|
*
|
|
496
400
|
* @throws {InvalidExpiryError} If the expiry is malformed, exceeds a protocol bound, or would
|
|
497
401
|
* leave the entity dead on arrival.
|
|
@@ -500,8 +404,10 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
500
404
|
* import { createWalletClient, ExpirationTime } from "@arkiv-network/sdk"
|
|
501
405
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
502
406
|
* import { http } from "viem"
|
|
407
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
503
408
|
*
|
|
504
409
|
* const client = createWalletClient({
|
|
410
|
+
* account: privateKeyToAccount("0x..."),
|
|
505
411
|
* chain: cheesecake,
|
|
506
412
|
* transport: http(),
|
|
507
413
|
* })
|
|
@@ -512,28 +418,28 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
512
418
|
*/
|
|
513
419
|
extendEntity: (data: ExtendEntityParameters, txParams?: TxParams) => Promise<ExtendEntityReturnType>;
|
|
514
420
|
/**
|
|
515
|
-
*
|
|
421
|
+
* Hands the entity with the given key to a new owner.
|
|
516
422
|
*
|
|
517
|
-
* -
|
|
518
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
423
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
519
424
|
*
|
|
520
425
|
* @param data - The ownership change parameters
|
|
521
426
|
* @param txParams - Optional transaction parameters
|
|
522
|
-
* @returns The entity
|
|
427
|
+
* @returns The entity's key and the transaction hash. {@link ChangeOwnershipReturnType}
|
|
523
428
|
*/
|
|
524
429
|
changeOwnership: (data: ChangeOwnershipParameters, txParams?: TxParams) => Promise<ChangeOwnershipReturnType>;
|
|
525
430
|
/**
|
|
526
|
-
*
|
|
431
|
+
* Applies a batch of entity operations — creates, patches, deletes, extensions and ownership
|
|
432
|
+
* transfers — in one transaction.
|
|
527
433
|
*
|
|
528
|
-
* -
|
|
529
|
-
* - JSON-RPC Methods: [`eth_sendRawTransaction`](https://docs.arkiv.network/dev/json-rpc-api/#mutateEntities)
|
|
434
|
+
* - JSON-RPC Methods: `eth_sendRawTransaction`
|
|
530
435
|
*
|
|
531
436
|
* Every operation lands in one transaction, so the whole batch applies or none of it does.
|
|
532
437
|
* At least one operation is required.
|
|
533
438
|
*
|
|
534
|
-
* @param data - The
|
|
439
|
+
* @param data - The batch parameters (creates, patches, deletes, extensions, ownershipChanges)
|
|
535
440
|
* @param txParams - Optional transaction parameters
|
|
536
|
-
* @returns The
|
|
441
|
+
* @returns The transaction hash, plus the keys touched by each kind of operation.
|
|
442
|
+
* {@link ExecuteBatchReturnType}
|
|
537
443
|
*
|
|
538
444
|
* @throws {InvalidExpiryError} If an expiry exceeds a protocol bound or would leave the entity
|
|
539
445
|
* dead on arrival.
|
|
@@ -543,12 +449,14 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
543
449
|
* import { createWalletClient, ExpirationTime, jsonToPayload } from "@arkiv-network/sdk"
|
|
544
450
|
* import { cheesecake } from "@arkiv-network/sdk/chains"
|
|
545
451
|
* import { http } from "viem"
|
|
452
|
+
* import { privateKeyToAccount } from "viem/accounts"
|
|
546
453
|
*
|
|
547
454
|
* const client = createWalletClient({
|
|
455
|
+
* account: privateKeyToAccount("0x..."),
|
|
548
456
|
* chain: cheesecake,
|
|
549
457
|
* transport: http(),
|
|
550
458
|
* })
|
|
551
|
-
* const { txHash, createdEntities } = await client.
|
|
459
|
+
* const { txHash, createdEntities } = await client.executeBatch({
|
|
552
460
|
* creates: [{
|
|
553
461
|
* payload: jsonToPayload({ entityType: "testType", entityId: "testId" }),
|
|
554
462
|
* contentType: "application/json",
|
|
@@ -564,35 +472,21 @@ type WalletArkivActions<transport extends Transport = Transport, chain extends C
|
|
|
564
472
|
* ownershipChanges: [{ entityKey: keyToHandOver, newOwner }],
|
|
565
473
|
* })
|
|
566
474
|
*/
|
|
567
|
-
|
|
568
|
-
/**
|
|
569
|
-
* The advanced path: build, send, ping and read mutation results as separate steps, each
|
|
570
|
-
* costing the minimum number of RPC calls. Use it when you are optimising your RPC budget;
|
|
571
|
-
* the everyday actions above remain the right default. {@link WalletAdvancedActions}
|
|
572
|
-
*
|
|
573
|
-
* @example
|
|
574
|
-
* const { txHash } = await client.advanced.sendMutation({ creates: [entity] }) // no waiting
|
|
575
|
-
* // ... later, one eth_getTransactionReceipt on your own schedule:
|
|
576
|
-
* const result = await client.advanced.getMutationResult(txHash)
|
|
577
|
-
* if (result.status === "success") console.log(result.createdEntities)
|
|
578
|
-
*/
|
|
579
|
-
advanced: WalletAdvancedActions;
|
|
475
|
+
executeBatch: (data: ExecuteBatchParameters, txParams?: TxParams) => Promise<ExecuteBatchReturnType>;
|
|
580
476
|
};
|
|
581
477
|
//#endregion
|
|
582
478
|
//#region src/clients/createWalletClient.d.ts
|
|
583
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>>>;
|
|
584
480
|
/**
|
|
585
481
|
* Creates a Wallet Client with a given [Transport](https://viem.sh/docs/clients/intro) configured
|
|
586
|
-
* for a [Chain](https://viem.sh/docs/
|
|
587
|
-
*
|
|
588
|
-
* - Docs: https://docs.arkiv.network/ts-sdk/clients/wallet
|
|
482
|
+
* for a [Chain](https://viem.sh/docs/chains/introduction) and an account.
|
|
589
483
|
*
|
|
590
484
|
* A Wallet Client signs and sends transactions, so it carries an `account` and exposes everything
|
|
591
485
|
* that mutates state — `createEntity`, `patchEntity`, `deleteEntity`, `extendEntity`,
|
|
592
|
-
* `changeOwnership` and `
|
|
486
|
+
* `changeOwnership` and `executeBatch` — on top of the read actions a Public Client has.
|
|
593
487
|
*
|
|
594
488
|
* @param parameters - Configuration object for the wallet client (chain, transport, account, etc.)
|
|
595
|
-
* @returns
|
|
489
|
+
* @returns An Arkiv Wallet Client. {@link WalletArkivClient}
|
|
596
490
|
*
|
|
597
491
|
* @example
|
|
598
492
|
* import { createWalletClient } from "@arkiv-network/sdk"
|
|
@@ -639,5 +533,5 @@ declare class InvalidContentTypeError extends Error {
|
|
|
639
533
|
*/
|
|
640
534
|
declare function chainFromName(name: string): Chain;
|
|
641
535
|
//#endregion
|
|
642
|
-
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 };
|
|
643
537
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/clients/decorators/
|
|
1
|
+
{"version":3,"file":"index.d.cts","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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"}
|