Skip to content

Commit

Permalink
feat: adding Avail project (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
stepanLav authored Nov 12, 2024
1 parent a06a5b4 commit 4fe247e
Show file tree
Hide file tree
Showing 4 changed files with 411 additions and 162 deletions.
65 changes: 65 additions & 0 deletions avail.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
specVersion: 1.0.0
name: subquery-proxy-avail
version: 1.0.0
runner:
node:
name: "@subql/node"
version: "*"
query:
name: "@subql/query"
version: v1.5.0
description: Nova SubQuery project
repository: https://github.com/nova-wallet/subquery-proxy
schema:
file: ./schema.graphql
network:
chainId: "0xb91746b45e0346cc2f815a520b9c6cb4d5c0902af848db0a80f85932d2e8276a"
endpoint: >-
wss://avail-mainnet.public.blastapi.io/
chaintypes:
file: ./dist/availChainTypes.js
dataSources:
- name: main
kind: substrate/Runtime
startBlock: 1
mapping:
file: ./dist/index.js
handlers:
- handler: handlePureProxyEvent
kind: substrate/EventHandler
filter:
module: proxy
method: PureCreated
- handler: handlePureProxyEvent
kind: substrate/EventHandler
filter:
module: proxy
method: AnonymousCreated
- handler: handleMultisigCall
kind: substrate/CallHandler
filter:
module: multisig
method: asMulti
success: true
isSigned: true
- handler: handleMultisigCall
kind: substrate/CallHandler
filter:
module: multisig
method: approveAsMulti
success: true
isSigned: true
- handler: handleMultisigCall
kind: substrate/CallHandler
filter:
module: multisig
method: cancelAsMulti
success: true
isSigned: true
- handler: handleMultisigCall
kind: substrate/CallHandler
filter:
module: multisig
method: asMultiThreshold1
success: true
isSigned: true
183 changes: 183 additions & 0 deletions chainTypes/availChainTypes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
import { OverrideBundleDefinition } from "@polkadot/types/types";

const definitions: OverrideBundleDefinition = {
types: [
{
minmax: [0, undefined],
types: {
"AppId": "Compact<u32>",
"DataLookupItem": {
"appId": "AppId",
"start": "Compact<u32>"
},
"CompactDataLookup": {
"size": "Compact<u32>",
"index": "Vec<DataLookupItem>"
},
"KateCommitment": {
"rows": "Compact<u16>",
"cols": "Compact<u16>",
"commitment": "Vec<u8>",
"dataRoot": "H256"
},
"V3HeaderExtension": {
"appLookup": "CompactDataLookup",
"commitment": "KateCommitment"
},
"HeaderExtension": {
"_enum": {
"V1": null,
"V2": null,
"V3": "V3HeaderExtension"
}
},
"DaHeader": {
"parentHash": "Hash",
"number": "Compact<BlockNumber>",
"stateRoot": "Hash",
"extrinsicsRoot": "Hash",
"digest": "Digest",
"extension": "HeaderExtension"
},
"Header": "DaHeader",
"CheckAppIdExtra": {
"appId": "AppId"
},
"CheckAppIdTypes": {},
"CheckAppId": {
"extra": "CheckAppIdExtra",
"types": "CheckAppIdTypes"
},
"BlockLengthColumns": "Compact<u32>",
"BlockLengthRows": "Compact<u32>",
"BlockLength": {
"max": "PerDispatchClass",
"cols": "BlockLengthColumns",
"rows": "BlockLengthRows",
"chunkSize": "Compact<u32>"
},
"PerDispatchClass": {
"normal": "u32",
"operational": "u32",
"mandatory": "u32"
},
"DataProof": {
"roots": "TxDataRoots",
"proof": "Vec<H256>",
"numberOfLeaves": "Compact<u32>",
"leafIndex": "Compact<u32>",
"leaf": "H256"
},
"TxDataRoots": {
"dataRoot": "H256",
"blobRoot": "H256",
"bridgeRoot": "H256"
},
"ProofResponse": {
"dataProof": "DataProof",
"message": "Option<AddressedMessage>"
},
"AddressedMessage": {
"message": "Message",
"from": "H256",
"to": "H256",
"originDomain": "u32",
"destinationDomain": "u32",
"id": "u64"
},
"Message": {
"_enum": {
"ArbitraryMessage": "ArbitraryMessage",
"FungibleToken": "FungibleToken"
}
},
"MessageType": {
"_enum": [
"ArbitraryMessage",
"FungibleToken"
]
},
"FungibleToken": {
"assetId": "H256",
"amount": "String"
},
"BoundedData": "Vec<u8>",
"ArbitraryMessage": "BoundedData",
"Cell": {
"row": "u32",
"col": "u32"
}
},
},
],
rpc: {
"kate": {
"blockLength": {
"description": "Get Block Length",
"params": [
{
"name": "at",
"type": "Hash",
"isOptional": true
}
],
"type": "BlockLength"
},
"queryProof": {
"description": "Generate the kate proof for the given `cells`",
"params": [
{
"name": "cells",
"type": "Vec<Cell>"
},
{
"name": "at",
"type": "Hash",
"isOptional": true
}
],
"type": "Vec<(U256, [u8; 48])>"
},
"queryDataProof": {
"description": "Generate the data proof for the given `transaction_index`",
"params": [
{
"name": "transaction_index",
"type": "u32"
},
{
"name": "at",
"type": "Hash",
"isOptional": true
}
],
"type": "ProofResponse"
},
"queryRows": {
"description": "Query rows based on their indices",
"params": [
{
"name": "rows",
"type": "Vec<u32>"
},
{
"name": "at",
"type": "Hash",
"isOptional": true
}
],
"type": "Vec<Vec<U256>>"
}
}
},
signedExtensions: {
"CheckAppId": {
"extrinsic": {
"appId": "AppId"
},
"payload": {}
}
}
};

export default { typesBundle: { spec: { "avail": definitions } } };
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"author": "Novasama Technlogies",
"license": "MIT",
"devDependencies": {
"@polkadot/api": "^10",
"@polkadot/api": "^11",
"@subql/cli": "latest",
"@subql/testing": "latest",
"@subql/types": "latest",
Expand All @@ -49,6 +49,7 @@
"moonbeamChaintypes": "./chainTypes/moonbeamChaintypes.ts",
"bittensorChaintypes": "./chainTypes/bittensorChainTypes.ts",
"alephZeroChaintypes": "./chainTypes/alephZeroChaintypes.ts",
"kusamaAssetHubChaintypes": "./chainTypes/kusamaAssetHubChaintypes.ts"
"kusamaAssetHubChaintypes": "./chainTypes/kusamaAssetHubChaintypes.ts",
"availChainTypes": "./chainTypes/availChainTypes.ts"
}
}
Loading

0 comments on commit 4fe247e

Please sign in to comment.