@arkiv-network/sdk 0.0.36-dev.6 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -16
- package/dist/_cjs/actions/public/buildQuery.js.map +1 -1
- package/dist/_cjs/actions/public/getBlockTiming.d.ts.map +1 -1
- package/dist/_cjs/actions/public/getBlockTiming.js.map +1 -1
- package/dist/_cjs/actions/public/getEntity.js.map +1 -1
- package/dist/_cjs/actions/public/getEntityCount.js.map +1 -1
- package/dist/_cjs/actions/public/query.js.map +1 -1
- package/dist/_cjs/actions/public/subscribeEntityEvents.d.ts.map +1 -1
- package/dist/_cjs/actions/public/subscribeEntityEvents.js.map +1 -1
- package/dist/_cjs/actions/wallet/changeOwnership.d.ts +22 -0
- package/dist/_cjs/actions/wallet/changeOwnership.d.ts.map +1 -0
- package/dist/_cjs/actions/wallet/changeOwnership.js +15 -0
- package/dist/_cjs/actions/wallet/changeOwnership.js.map +1 -0
- package/dist/_cjs/actions/wallet/createEntity.d.ts +5 -3
- package/dist/_cjs/actions/wallet/createEntity.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/createEntity.js.map +1 -1
- package/dist/_cjs/actions/wallet/deleteEntity.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/deleteEntity.js.map +1 -1
- package/dist/_cjs/actions/wallet/extendEntity.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/extendEntity.js.map +1 -1
- package/dist/_cjs/actions/wallet/mutateEntities.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/mutateEntities.js.map +1 -1
- package/dist/_cjs/actions/wallet/updateEntity.d.ts +6 -4
- package/dist/_cjs/actions/wallet/updateEntity.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/updateEntity.js.map +1 -1
- package/dist/_cjs/chains/kaolin.js.map +1 -1
- package/dist/_cjs/chains/localhost.js.map +1 -1
- package/dist/_cjs/chains/marketplace.js.map +1 -1
- package/dist/_cjs/clients/baseClient.d.ts.map +1 -1
- package/dist/_cjs/clients/createPublicClient.d.ts.map +1 -1
- package/dist/_cjs/clients/createPublicClient.js.map +1 -1
- package/dist/_cjs/clients/createWalletClient.d.ts.map +1 -1
- package/dist/_cjs/clients/createWalletClient.js.map +1 -1
- package/dist/_cjs/clients/decorators/arkivPublic.d.ts +0 -2
- package/dist/_cjs/clients/decorators/arkivPublic.d.ts.map +1 -1
- package/dist/_cjs/clients/decorators/arkivPublic.js.map +1 -1
- package/dist/_cjs/clients/decorators/arkivWallet.d.ts +15 -5
- package/dist/_cjs/clients/decorators/arkivWallet.d.ts.map +1 -1
- package/dist/_cjs/clients/decorators/arkivWallet.js +2 -0
- package/dist/_cjs/clients/decorators/arkivWallet.js.map +1 -1
- package/dist/_cjs/consts.js +1 -1
- package/dist/_cjs/index.d.ts +1 -1
- package/dist/_cjs/index.d.ts.map +1 -1
- package/dist/_cjs/query/engine.d.ts +1 -1
- package/dist/_cjs/query/engine.d.ts.map +1 -1
- package/dist/_cjs/query/engine.js +5 -4
- package/dist/_cjs/query/engine.js.map +1 -1
- package/dist/_cjs/query/errors.js.map +1 -1
- package/dist/_cjs/query/predicate.d.ts.map +1 -1
- package/dist/_cjs/query/predicate.js.map +1 -1
- package/dist/_cjs/query/queryBuilder.d.ts +5 -5
- package/dist/_cjs/query/queryBuilder.d.ts.map +1 -1
- package/dist/_cjs/query/queryBuilder.js +8 -8
- package/dist/_cjs/query/queryBuilder.js.map +1 -1
- package/dist/_cjs/query/queryResult.d.ts.map +1 -1
- package/dist/_cjs/query/queryResult.js.map +1 -1
- package/dist/_cjs/types/attributes.d.ts +5 -0
- package/dist/_cjs/types/attributes.d.ts.map +1 -0
- package/dist/_cjs/types/{annotation.js → attributes.js} +1 -1
- package/dist/_cjs/types/attributes.js.map +1 -0
- package/dist/_cjs/types/entity.d.ts +5 -3
- package/dist/_cjs/types/entity.d.ts.map +1 -1
- package/dist/_cjs/types/entity.js +5 -3
- package/dist/_cjs/types/entity.js.map +1 -1
- package/dist/_cjs/types/events.d.ts.map +1 -1
- package/dist/_cjs/types/index.d.ts +2 -1
- package/dist/_cjs/types/index.d.ts.map +1 -1
- package/dist/_cjs/types/mimeTypes.d.ts +2 -0
- package/dist/_cjs/types/mimeTypes.d.ts.map +1 -0
- package/dist/_cjs/types/mimeTypes.js +3 -0
- package/dist/_cjs/types/mimeTypes.js.map +1 -0
- package/dist/_cjs/types/rpcSchema.d.ts +6 -19
- package/dist/_cjs/types/rpcSchema.d.ts.map +1 -1
- package/dist/_cjs/types/txParams.d.ts.map +1 -1
- package/dist/_cjs/utils/arkivTransactions.d.ts +3 -1
- package/dist/_cjs/utils/arkivTransactions.d.ts.map +1 -1
- package/dist/_cjs/utils/arkivTransactions.js +23 -17
- package/dist/_cjs/utils/arkivTransactions.js.map +1 -1
- package/dist/_cjs/utils/compression.d.ts +3 -0
- package/dist/_cjs/utils/compression.d.ts.map +1 -0
- package/dist/_cjs/utils/compression.js +24 -0
- package/dist/_cjs/utils/compression.js.map +1 -0
- package/dist/_cjs/utils/entities.d.ts.map +1 -1
- package/dist/_cjs/utils/entities.js +4 -4
- package/dist/_cjs/utils/entities.js.map +1 -1
- package/dist/_cjs/utils/expirationTime.d.ts.map +1 -1
- package/dist/_cjs/utils/expirationTime.js.map +1 -1
- package/dist/_cjs/utils/payload.js.map +1 -1
- package/dist/_esm/actions/public/buildQuery.js.map +1 -1
- package/dist/_esm/actions/public/getBlockTiming.d.ts.map +1 -1
- package/dist/_esm/actions/public/getBlockTiming.js.map +1 -1
- package/dist/_esm/actions/public/getEntity.js.map +1 -1
- package/dist/_esm/actions/public/getEntityCount.js.map +1 -1
- package/dist/_esm/actions/public/query.js.map +1 -1
- package/dist/_esm/actions/public/subscribeEntityEvents.d.ts.map +1 -1
- package/dist/_esm/actions/public/subscribeEntityEvents.js.map +1 -1
- package/dist/_esm/actions/wallet/changeOwnership.d.ts +22 -0
- package/dist/_esm/actions/wallet/changeOwnership.d.ts.map +1 -0
- package/dist/_esm/actions/wallet/changeOwnership.js +12 -0
- package/dist/_esm/actions/wallet/changeOwnership.js.map +1 -0
- package/dist/_esm/actions/wallet/createEntity.d.ts +5 -3
- package/dist/_esm/actions/wallet/createEntity.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/createEntity.js.map +1 -1
- package/dist/_esm/actions/wallet/deleteEntity.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/deleteEntity.js.map +1 -1
- package/dist/_esm/actions/wallet/extendEntity.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/extendEntity.js.map +1 -1
- package/dist/_esm/actions/wallet/mutateEntities.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/mutateEntities.js.map +1 -1
- package/dist/_esm/actions/wallet/updateEntity.d.ts +6 -4
- package/dist/_esm/actions/wallet/updateEntity.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/updateEntity.js.map +1 -1
- package/dist/_esm/chains/kaolin.js.map +1 -1
- package/dist/_esm/chains/localhost.js.map +1 -1
- package/dist/_esm/chains/marketplace.js.map +1 -1
- package/dist/_esm/clients/baseClient.d.ts.map +1 -1
- package/dist/_esm/clients/createPublicClient.d.ts.map +1 -1
- package/dist/_esm/clients/createPublicClient.js.map +1 -1
- package/dist/_esm/clients/createWalletClient.d.ts.map +1 -1
- package/dist/_esm/clients/createWalletClient.js.map +1 -1
- package/dist/_esm/clients/decorators/arkivPublic.d.ts +0 -2
- package/dist/_esm/clients/decorators/arkivPublic.d.ts.map +1 -1
- package/dist/_esm/clients/decorators/arkivPublic.js.map +1 -1
- package/dist/_esm/clients/decorators/arkivWallet.d.ts +15 -5
- package/dist/_esm/clients/decorators/arkivWallet.d.ts.map +1 -1
- package/dist/_esm/clients/decorators/arkivWallet.js +2 -0
- package/dist/_esm/clients/decorators/arkivWallet.js.map +1 -1
- package/dist/_esm/consts.js +1 -1
- package/dist/_esm/index.d.ts +1 -1
- package/dist/_esm/index.d.ts.map +1 -1
- package/dist/_esm/query/engine.d.ts +1 -1
- package/dist/_esm/query/engine.d.ts.map +1 -1
- package/dist/_esm/query/engine.js +5 -4
- package/dist/_esm/query/engine.js.map +1 -1
- package/dist/_esm/query/errors.js.map +1 -1
- package/dist/_esm/query/predicate.d.ts.map +1 -1
- package/dist/_esm/query/predicate.js.map +1 -1
- package/dist/_esm/query/queryBuilder.d.ts +5 -5
- package/dist/_esm/query/queryBuilder.d.ts.map +1 -1
- package/dist/_esm/query/queryBuilder.js +8 -8
- package/dist/_esm/query/queryBuilder.js.map +1 -1
- package/dist/_esm/query/queryResult.d.ts.map +1 -1
- package/dist/_esm/query/queryResult.js.map +1 -1
- package/dist/_esm/types/attributes.d.ts +5 -0
- package/dist/_esm/types/attributes.d.ts.map +1 -0
- package/dist/_esm/types/attributes.js +2 -0
- package/dist/_esm/types/attributes.js.map +1 -0
- package/dist/_esm/types/entity.d.ts +5 -3
- package/dist/_esm/types/entity.d.ts.map +1 -1
- package/dist/_esm/types/entity.js +5 -3
- package/dist/_esm/types/entity.js.map +1 -1
- package/dist/_esm/types/events.d.ts.map +1 -1
- package/dist/_esm/types/index.d.ts +2 -1
- package/dist/_esm/types/index.d.ts.map +1 -1
- package/dist/_esm/types/mimeTypes.d.ts +2 -0
- package/dist/_esm/types/mimeTypes.d.ts.map +1 -0
- package/dist/_esm/types/mimeTypes.js +2 -0
- package/dist/_esm/types/mimeTypes.js.map +1 -0
- package/dist/_esm/types/rpcSchema.d.ts +6 -19
- package/dist/_esm/types/rpcSchema.d.ts.map +1 -1
- package/dist/_esm/types/txParams.d.ts.map +1 -1
- package/dist/_esm/utils/arkivTransactions.d.ts +3 -1
- package/dist/_esm/utils/arkivTransactions.d.ts.map +1 -1
- package/dist/_esm/utils/arkivTransactions.js +24 -18
- package/dist/_esm/utils/arkivTransactions.js.map +1 -1
- package/dist/_esm/utils/compression.d.ts +3 -0
- package/dist/_esm/utils/compression.d.ts.map +1 -0
- package/dist/_esm/utils/compression.js +20 -0
- package/dist/_esm/utils/compression.js.map +1 -0
- package/dist/_esm/utils/entities.d.ts.map +1 -1
- package/dist/_esm/utils/entities.js +4 -4
- package/dist/_esm/utils/entities.js.map +1 -1
- package/dist/_esm/utils/expirationTime.d.ts.map +1 -1
- package/dist/_esm/utils/expirationTime.js.map +1 -1
- package/dist/_esm/utils/payload.js.map +1 -1
- package/dist/_types/actions/public/getBlockTiming.d.ts.map +1 -1
- package/dist/_types/actions/public/subscribeEntityEvents.d.ts.map +1 -1
- package/dist/_types/actions/wallet/changeOwnership.d.ts +22 -0
- package/dist/_types/actions/wallet/changeOwnership.d.ts.map +1 -0
- package/dist/_types/actions/wallet/createEntity.d.ts +5 -3
- package/dist/_types/actions/wallet/createEntity.d.ts.map +1 -1
- package/dist/_types/actions/wallet/deleteEntity.d.ts.map +1 -1
- package/dist/_types/actions/wallet/extendEntity.d.ts.map +1 -1
- package/dist/_types/actions/wallet/mutateEntities.d.ts.map +1 -1
- package/dist/_types/actions/wallet/updateEntity.d.ts +6 -4
- package/dist/_types/actions/wallet/updateEntity.d.ts.map +1 -1
- package/dist/_types/clients/baseClient.d.ts.map +1 -1
- package/dist/_types/clients/createPublicClient.d.ts.map +1 -1
- package/dist/_types/clients/createWalletClient.d.ts.map +1 -1
- package/dist/_types/clients/decorators/arkivPublic.d.ts +0 -2
- package/dist/_types/clients/decorators/arkivPublic.d.ts.map +1 -1
- package/dist/_types/clients/decorators/arkivWallet.d.ts +15 -5
- package/dist/_types/clients/decorators/arkivWallet.d.ts.map +1 -1
- package/dist/_types/index.d.ts +1 -1
- package/dist/_types/index.d.ts.map +1 -1
- package/dist/_types/query/engine.d.ts +1 -1
- package/dist/_types/query/engine.d.ts.map +1 -1
- package/dist/_types/query/predicate.d.ts.map +1 -1
- package/dist/_types/query/queryBuilder.d.ts +5 -5
- package/dist/_types/query/queryBuilder.d.ts.map +1 -1
- package/dist/_types/query/queryResult.d.ts.map +1 -1
- package/dist/_types/types/attributes.d.ts +5 -0
- package/dist/_types/types/attributes.d.ts.map +1 -0
- package/dist/_types/types/entity.d.ts +5 -3
- package/dist/_types/types/entity.d.ts.map +1 -1
- package/dist/_types/types/events.d.ts.map +1 -1
- package/dist/_types/types/index.d.ts +2 -1
- package/dist/_types/types/index.d.ts.map +1 -1
- package/dist/_types/types/mimeTypes.d.ts +2 -0
- package/dist/_types/types/mimeTypes.d.ts.map +1 -0
- package/dist/_types/types/rpcSchema.d.ts +6 -19
- package/dist/_types/types/rpcSchema.d.ts.map +1 -1
- package/dist/_types/types/txParams.d.ts.map +1 -1
- package/dist/_types/utils/arkivTransactions.d.ts +3 -1
- package/dist/_types/utils/arkivTransactions.d.ts.map +1 -1
- package/dist/_types/utils/compression.d.ts +3 -0
- package/dist/_types/utils/compression.d.ts.map +1 -0
- package/dist/_types/utils/entities.d.ts.map +1 -1
- package/dist/_types/utils/expirationTime.d.ts.map +1 -1
- package/package.json +118 -116
- package/src/actions/public/buildQuery.ts +1 -1
- package/src/actions/public/getBlockTiming.ts +13 -13
- package/src/actions/public/getEntity.ts +9 -9
- package/src/actions/public/getEntityCount.ts +5 -5
- package/src/actions/public/query.ts +6 -6
- package/src/actions/public/subscribeEntityEvents.ts +92 -92
- package/src/actions/wallet/changeOwnership.ts +40 -0
- package/src/actions/wallet/createEntity.ts +20 -18
- package/src/actions/wallet/deleteEntity.ts +14 -14
- package/src/actions/wallet/extendEntity.ts +15 -15
- package/src/actions/wallet/mutateEntities.ts +58 -58
- package/src/actions/wallet/updateEntity.ts +21 -19
- package/src/chains/kaolin.ts +22 -22
- package/src/chains/localhost.ts +10 -10
- package/src/chains/marketplace.ts +22 -22
- package/src/clients/baseClient.ts +4 -4
- package/src/clients/createPublicClient.ts +31 -31
- package/src/clients/createWalletClient.ts +35 -35
- package/src/clients/decorators/arkivPublic.ts +179 -181
- package/src/clients/decorators/arkivWallet.ts +222 -204
- package/src/consts.ts +1 -1
- package/src/index.ts +8 -8
- package/src/query/engine.ts +93 -92
- package/src/query/errors.ts +12 -12
- package/src/query/predicate.ts +18 -18
- package/src/query/queryBuilder.ts +194 -194
- package/src/query/queryResult.ts +49 -49
- package/src/types/attributes.ts +4 -0
- package/src/types/entity.ts +29 -25
- package/src/types/events.ts +18 -18
- package/src/types/index.ts +2 -1
- package/src/types/mimeTypes.ts +27 -0
- package/src/types/rpcSchema.ts +46 -53
- package/src/types/txParams.ts +14 -14
- package/src/utils/arkivTransactions.ts +76 -67
- package/src/utils/compression.ts +21 -0
- package/src/utils/entities.ts +17 -10
- package/src/utils/expirationTime.ts +9 -9
- package/src/utils/payload.ts +2 -2
- package/dist/_cjs/types/annotation.d.ts +0 -5
- package/dist/_cjs/types/annotation.d.ts.map +0 -1
- package/dist/_cjs/types/annotation.js.map +0 -1
- package/dist/_esm/types/annotation.d.ts +0 -5
- package/dist/_esm/types/annotation.d.ts.map +0 -1
- package/dist/_esm/types/annotation.js +0 -2
- package/dist/_esm/types/annotation.js.map +0 -1
- package/dist/_types/types/annotation.d.ts +0 -5
- package/dist/_types/types/annotation.d.ts.map +0 -1
- package/src/types/annotation.ts +0 -4
|
@@ -8,7 +8,7 @@ import { opsToTxData, sendArkivTransaction } from "../../utils/arkivTransactions
|
|
|
8
8
|
* - entityKey: The key of the entity to delete.
|
|
9
9
|
*/
|
|
10
10
|
export type DeleteEntityParameters = {
|
|
11
|
-
|
|
11
|
+
entityKey: Hex
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -17,23 +17,23 @@ export type DeleteEntityParameters = {
|
|
|
17
17
|
* - txHash: The transaction hash.
|
|
18
18
|
*/
|
|
19
19
|
export type DeleteEntityReturnType = {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
entityKey: Hex
|
|
21
|
+
txHash: string
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export async function deleteEntity(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
client: ArkivClient,
|
|
26
|
+
data: DeleteEntityParameters,
|
|
27
|
+
txParams?: TxParams,
|
|
28
28
|
): Promise<DeleteEntityReturnType> {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
console.debug("deleteEntity", data)
|
|
30
|
+
const txData = opsToTxData({ deletes: [data] })
|
|
31
|
+
const receipt = await sendArkivTransaction(client, txData, txParams)
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
console.debug("Receipt from deleteEntity", receipt)
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
return {
|
|
36
|
+
txHash: receipt.transactionHash,
|
|
37
|
+
entityKey: data.entityKey,
|
|
38
|
+
}
|
|
39
39
|
}
|
|
@@ -9,8 +9,8 @@ import { opsToTxData, sendArkivTransaction } from "../../utils/arkivTransactions
|
|
|
9
9
|
* - expiresIn: The expires in of the entity in seconds.
|
|
10
10
|
*/
|
|
11
11
|
export type ExtendEntityParameters = {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
entityKey: Hex
|
|
13
|
+
expiresIn: number
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -19,23 +19,23 @@ export type ExtendEntityParameters = {
|
|
|
19
19
|
* - txHash: The transaction hash.
|
|
20
20
|
*/
|
|
21
21
|
export type ExtendEntityReturnType = {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
entityKey: Hex
|
|
23
|
+
txHash: string
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export async function extendEntity(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
client: ArkivClient,
|
|
28
|
+
data: ExtendEntityParameters,
|
|
29
|
+
txParams?: TxParams,
|
|
30
30
|
): Promise<ExtendEntityReturnType> {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
console.debug("extendEntity", data)
|
|
32
|
+
const txData = opsToTxData({ extensions: [data] })
|
|
33
|
+
const receipt = await sendArkivTransaction(client, txData, txParams)
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
console.debug("Receipt from extendEntity", receipt)
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
return {
|
|
38
|
+
txHash: receipt.transactionHash,
|
|
39
|
+
entityKey: receipt.logs[0].topics[1] as Hex,
|
|
40
|
+
}
|
|
41
41
|
}
|
|
@@ -15,40 +15,40 @@ import type { UpdateEntityParameters } from "./updateEntity"
|
|
|
15
15
|
* - extensions: The extensions to perform.
|
|
16
16
|
*/
|
|
17
17
|
export type MutateEntitiesParameters = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
creates?: CreateEntityParameters[]
|
|
19
|
+
updates?: UpdateEntityParameters[]
|
|
20
|
+
deletes?: DeleteEntityParameters[]
|
|
21
|
+
extensions?: ExtendEntityParameters[]
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
function parseReceipt(receipt: TransactionReceipt, params: MutateEntitiesParameters) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
const createdEntities: Hex[] = []
|
|
26
|
+
const updatedEntities: Hex[] = []
|
|
27
|
+
const deletedEntities: Hex[] = []
|
|
28
|
+
const extendedEntities: Hex[] = []
|
|
29
|
+
const totalCreates = params.creates?.length ?? 0
|
|
30
|
+
const totalUpdates = params.updates?.length ?? 0
|
|
31
|
+
const totalDeletes = params.deletes?.length ?? 0
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
// iterate over all logs and parse the event
|
|
34
|
+
// each odd log is the interested ones, logs goes in order like: creates, deleted, updates, extends
|
|
35
|
+
for (let i = 0; i < receipt.logs.length; i++) {
|
|
36
|
+
const log = receipt.logs[i]
|
|
37
|
+
if (i % 2 === 1) continue
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
const index = i / 2
|
|
40
|
+
if (index < totalCreates) {
|
|
41
|
+
createdEntities.push(log.topics[1] as Hex)
|
|
42
|
+
} else if (index < totalCreates + totalDeletes) {
|
|
43
|
+
deletedEntities.push(log.topics[1] as Hex)
|
|
44
|
+
} else if (index < totalCreates + totalUpdates + totalDeletes) {
|
|
45
|
+
updatedEntities.push(log.topics[1] as Hex)
|
|
46
|
+
} else {
|
|
47
|
+
extendedEntities.push(log.topics[1] as Hex)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
return { createdEntities, updatedEntities, deletedEntities, extendedEntities }
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
/**
|
|
@@ -60,41 +60,41 @@ function parseReceipt(receipt: TransactionReceipt, params: MutateEntitiesParamet
|
|
|
60
60
|
* - extendedEntities: The keys of the extended entities.
|
|
61
61
|
*/
|
|
62
62
|
export type MutateEntitiesReturnType = {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
txHash: string
|
|
64
|
+
createdEntities: Hex[]
|
|
65
|
+
updatedEntities: Hex[]
|
|
66
|
+
deletedEntities: Hex[]
|
|
67
|
+
extendedEntities: Hex[]
|
|
68
68
|
}
|
|
69
69
|
export async function mutateEntities(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
client: ArkivClient,
|
|
71
|
+
data: MutateEntitiesParameters,
|
|
72
|
+
txParams?: TxParams,
|
|
73
73
|
): Promise<MutateEntitiesReturnType> {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
if (!data.creates && !data.updates && !data.deletes && !data.extensions) {
|
|
75
|
+
throw new Error("No operations to perform")
|
|
76
|
+
}
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
const txData = opsToTxData({
|
|
79
|
+
creates: data.creates ?? [],
|
|
80
|
+
updates: data.updates ?? [],
|
|
81
|
+
deletes: data.deletes ?? [],
|
|
82
|
+
extensions: data.extensions ?? [],
|
|
83
|
+
})
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
const receipt = await sendArkivTransaction(client, txData, txParams)
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
console.debug("Receipt from mutateEntities", receipt)
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
89
|
+
const { createdEntities, updatedEntities, deletedEntities, extendedEntities } = parseReceipt(
|
|
90
|
+
receipt,
|
|
91
|
+
data,
|
|
92
|
+
)
|
|
93
|
+
return {
|
|
94
|
+
txHash: receipt.transactionHash,
|
|
95
|
+
createdEntities,
|
|
96
|
+
updatedEntities,
|
|
97
|
+
deletedEntities,
|
|
98
|
+
extendedEntities,
|
|
99
|
+
}
|
|
100
100
|
}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import type { Hex } from "viem"
|
|
2
2
|
import type { ArkivClient } from "../../clients/baseClient"
|
|
3
|
-
import type {
|
|
3
|
+
import type { Attribute, MimeType, TxParams } from "../../types"
|
|
4
4
|
import { opsToTxData, sendArkivTransaction } from "../../utils/arkivTransactions"
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Parameters for the updateEntity function.
|
|
8
8
|
* - entityKey: The key of the entity to update.
|
|
9
9
|
* - payload: The payload of the entity.
|
|
10
|
-
* -
|
|
10
|
+
* - attributes: The attributes of the entity.
|
|
11
|
+
* - contentType: The content type of the entity.
|
|
11
12
|
* - expiresIn: The expires in of the entity in seconds.
|
|
12
13
|
*/
|
|
13
14
|
export type UpdateEntityParameters = {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
entityKey: Hex
|
|
16
|
+
payload: Uint8Array
|
|
17
|
+
attributes: Attribute[]
|
|
18
|
+
contentType: MimeType
|
|
19
|
+
expiresIn: number
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
/**
|
|
@@ -23,23 +25,23 @@ export type UpdateEntityParameters = {
|
|
|
23
25
|
* - txHash: The transaction hash.
|
|
24
26
|
*/
|
|
25
27
|
export type UpdateEntityReturnType = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
entityKey: Hex
|
|
29
|
+
txHash: string
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
export async function updateEntity(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
client: ArkivClient,
|
|
34
|
+
data: UpdateEntityParameters,
|
|
35
|
+
txParams?: TxParams,
|
|
34
36
|
): Promise<UpdateEntityReturnType> {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
console.debug("updateEntity", data)
|
|
38
|
+
const txData = opsToTxData({ updates: [data] })
|
|
39
|
+
const receipt = await sendArkivTransaction(client, txData, txParams)
|
|
38
40
|
|
|
39
|
-
|
|
41
|
+
console.debug("Receipt from updateEntity", receipt)
|
|
40
42
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
return {
|
|
44
|
+
txHash: receipt.transactionHash,
|
|
45
|
+
entityKey: receipt.logs[0].topics[1] as Hex,
|
|
46
|
+
}
|
|
45
47
|
}
|
package/src/chains/kaolin.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { defineChain } from "viem"
|
|
2
2
|
|
|
3
3
|
export const kaolin = defineChain({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
4
|
+
id: 60138453025,
|
|
5
|
+
name: "Kaolin",
|
|
6
|
+
network: "kaolin",
|
|
7
|
+
nativeCurrency: {
|
|
8
|
+
name: "Ethereum",
|
|
9
|
+
symbol: "ETH",
|
|
10
|
+
decimals: 18,
|
|
11
|
+
},
|
|
12
|
+
rpcUrls: {
|
|
13
|
+
default: {
|
|
14
|
+
http: ["https://kaolin.hoodi.arkiv.network/rpc"],
|
|
15
|
+
webSocket: ["wss://kaolin.hoodi.arkiv.network/rpc/ws"],
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
blockExplorers: {
|
|
19
|
+
default: {
|
|
20
|
+
name: "Kaolin Arkiv Explorer",
|
|
21
|
+
url: "https://explorer.kaolin.hoodi.arkiv.network",
|
|
22
|
+
apiUrl: "https://explorer.kaolin.hoodi.arkiv.network/api",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
testnet: true,
|
|
26
26
|
})
|
package/src/chains/localhost.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { defineChain } from "viem"
|
|
2
2
|
|
|
3
3
|
export const localhost = defineChain({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
id: 1337,
|
|
5
|
+
name: "Localhost",
|
|
6
|
+
nativeCurrency: {
|
|
7
|
+
decimals: 18,
|
|
8
|
+
name: "Ether",
|
|
9
|
+
symbol: "ETH",
|
|
10
|
+
},
|
|
11
|
+
rpcUrls: {
|
|
12
|
+
default: { http: ["http://127.0.0.1:8545"] },
|
|
13
|
+
},
|
|
14
14
|
})
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { defineChain } from "viem"
|
|
2
2
|
|
|
3
3
|
export const marketplace = defineChain({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
4
|
+
id: 60138453027,
|
|
5
|
+
name: "Marketplace",
|
|
6
|
+
network: "marketplace",
|
|
7
|
+
nativeCurrency: {
|
|
8
|
+
name: "Ethereum",
|
|
9
|
+
symbol: "ETH",
|
|
10
|
+
decimals: 18,
|
|
11
|
+
},
|
|
12
|
+
rpcUrls: {
|
|
13
|
+
default: {
|
|
14
|
+
http: ["https://marketplace.hoodi.arkiv.network/rpc"],
|
|
15
|
+
webSocket: ["wss://marketplace.hoodi.arkiv.network/rpc/ws"],
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
blockExplorers: {
|
|
19
|
+
default: {
|
|
20
|
+
name: "Marketplace Arkiv Explorer",
|
|
21
|
+
url: "https://explorer.marketplace.hoodi.arkiv.network",
|
|
22
|
+
apiUrl: "https://explorer.marketplace.hoodi.arkiv.network/api",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
testnet: true,
|
|
26
26
|
})
|
|
@@ -2,8 +2,8 @@ import type { Account, Chain, Client, RpcSchema, Transport } from "viem"
|
|
|
2
2
|
import type { ArkivRpcSchema } from "../types/rpcSchema"
|
|
3
3
|
|
|
4
4
|
export type ArkivClient<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
transport extends Transport = Transport,
|
|
6
|
+
chain extends Chain | undefined = Chain | undefined,
|
|
7
|
+
accountOrAddress extends Account | undefined = Account | undefined,
|
|
8
|
+
rpcSchema extends RpcSchema | undefined = ArkivRpcSchema,
|
|
9
9
|
> = Client<transport, chain, accountOrAddress, rpcSchema>
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
Account,
|
|
3
|
+
Address,
|
|
4
|
+
Chain,
|
|
5
|
+
Client,
|
|
6
|
+
ParseAccount,
|
|
7
|
+
Prettify,
|
|
8
|
+
PublicClientConfig,
|
|
9
|
+
RpcSchema,
|
|
10
|
+
Transport,
|
|
11
11
|
} from "viem"
|
|
12
12
|
import { createClient, publicActions } from "viem"
|
|
13
13
|
import type { ArkivRpcSchema } from "../types/rpcSchema"
|
|
14
14
|
import { type PublicArkivActions, publicArkivActions } from "./decorators/arkivPublic"
|
|
15
15
|
|
|
16
16
|
export type PublicArkivClient<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
transport extends Transport = Transport,
|
|
18
|
+
chain extends Chain | undefined = Chain | undefined,
|
|
19
|
+
accountOrAddress extends Account | undefined = undefined,
|
|
20
|
+
rpcSchema extends RpcSchema | undefined = ArkivRpcSchema,
|
|
21
21
|
> = Prettify<
|
|
22
|
-
|
|
22
|
+
Client<transport, chain, accountOrAddress, rpcSchema, PublicArkivActions<transport, chain>>
|
|
23
23
|
>
|
|
24
24
|
|
|
25
25
|
/**
|
|
@@ -42,24 +42,24 @@ export type PublicArkivClient<
|
|
|
42
42
|
* })
|
|
43
43
|
*/
|
|
44
44
|
export function createPublicClient<
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
transport extends Transport,
|
|
46
|
+
chain extends Chain | undefined = undefined,
|
|
47
|
+
accountOrAddress extends Account | Address | undefined = undefined,
|
|
48
|
+
rpcSchema extends RpcSchema | undefined = ArkivRpcSchema,
|
|
49
49
|
>(
|
|
50
|
-
|
|
50
|
+
parameters: PublicClientConfig<transport, chain, accountOrAddress, rpcSchema>,
|
|
51
51
|
): PublicArkivClient<transport, chain, ParseAccount<accountOrAddress>, rpcSchema> {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
const { key = "public", name = "Public Client" } = parameters
|
|
53
|
+
const client = createClient({
|
|
54
|
+
...parameters,
|
|
55
|
+
key,
|
|
56
|
+
name,
|
|
57
|
+
})
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
return client.extend(publicArkivActions).extend(publicActions) as unknown as PublicArkivClient<
|
|
60
|
+
transport,
|
|
61
|
+
chain,
|
|
62
|
+
ParseAccount<accountOrAddress>,
|
|
63
|
+
rpcSchema
|
|
64
|
+
>
|
|
65
65
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
Account,
|
|
3
|
+
Address,
|
|
4
|
+
Chain,
|
|
5
|
+
Client,
|
|
6
|
+
ParseAccount,
|
|
7
|
+
Prettify,
|
|
8
|
+
RpcSchema,
|
|
9
|
+
Transport,
|
|
10
|
+
WalletClientConfig,
|
|
11
11
|
} from "viem"
|
|
12
12
|
import { createClient, publicActions, walletActions } from "viem"
|
|
13
13
|
import type { ArkivRpcSchema } from "../types/rpcSchema"
|
|
@@ -15,12 +15,12 @@ import { publicArkivActions } from "./decorators/arkivPublic"
|
|
|
15
15
|
import { type WalletArkivActions, walletArkivActions } from "./decorators/arkivWallet"
|
|
16
16
|
|
|
17
17
|
export type WalletArkivClient<
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
transport extends Transport = Transport,
|
|
19
|
+
chain extends Chain | undefined = Chain | undefined,
|
|
20
|
+
account extends Account | undefined = Account | undefined,
|
|
21
|
+
rpcSchema extends RpcSchema | undefined = ArkivRpcSchema,
|
|
22
22
|
> = Prettify<
|
|
23
|
-
|
|
23
|
+
Client<transport, chain, account, rpcSchema, WalletArkivActions<transport, chain, account>>
|
|
24
24
|
>
|
|
25
25
|
|
|
26
26
|
/**
|
|
@@ -43,28 +43,28 @@ export type WalletArkivClient<
|
|
|
43
43
|
* })
|
|
44
44
|
*/
|
|
45
45
|
export function createWalletClient<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
transport extends Transport,
|
|
47
|
+
chain extends Chain | undefined = undefined,
|
|
48
|
+
accountOrAddress extends Account | Address | undefined = undefined,
|
|
49
|
+
rpcSchema extends RpcSchema | undefined = ArkivRpcSchema,
|
|
50
50
|
>(
|
|
51
|
-
|
|
51
|
+
parameters: WalletClientConfig<transport, chain, accountOrAddress, rpcSchema>,
|
|
52
52
|
): WalletArkivClient<transport, chain, ParseAccount<accountOrAddress>, rpcSchema> {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
const { key = "wallet", name = "Wallet Client" } = parameters
|
|
54
|
+
const client = createClient({
|
|
55
|
+
...parameters,
|
|
56
|
+
key,
|
|
57
|
+
name,
|
|
58
|
+
})
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
60
|
+
return client
|
|
61
|
+
.extend(walletActions)
|
|
62
|
+
.extend(publicActions)
|
|
63
|
+
.extend(walletArkivActions)
|
|
64
|
+
.extend(publicArkivActions) as unknown as WalletArkivClient<
|
|
65
|
+
transport,
|
|
66
|
+
chain,
|
|
67
|
+
ParseAccount<accountOrAddress>,
|
|
68
|
+
rpcSchema
|
|
69
|
+
>
|
|
70
70
|
}
|