@xyo-network/xl1-rpc 1.9.0 → 1.10.1
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/dist/neutral/index.mjs +519 -501
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts +2 -2
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
- package/dist/neutral/provider/{provider → connection}/HttpRpcXyoConnection.d.ts +2 -0
- package/dist/neutral/provider/connection/HttpRpcXyoConnection.d.ts.map +1 -0
- package/dist/neutral/provider/{provider → connection}/XyoConnection.d.ts +4 -2
- package/dist/neutral/provider/connection/XyoConnection.d.ts.map +1 -0
- package/dist/neutral/provider/connection/index.d.ts.map +1 -0
- package/dist/neutral/provider/connection/spec/XyoConnection.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/AbstractXyoDataLake.d.ts +10 -0
- package/dist/neutral/provider/datalake/AbstractXyoDataLake.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/ArchivistXyoDataLake.d.ts +11 -0
- package/dist/neutral/provider/datalake/ArchivistXyoDataLake.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/HttpXyoDataLake.d.ts +20 -0
- package/dist/neutral/provider/datalake/HttpXyoDataLake.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/index.d.ts +4 -0
- package/dist/neutral/provider/datalake/index.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/Abstract.d.ts +13 -0
- package/dist/neutral/provider/gateway/Abstract.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/MemoryXyoGateway.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/index.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
- package/dist/neutral/provider/index.d.ts +3 -2
- package/dist/neutral/provider/index.d.ts.map +1 -1
- package/dist/neutral/provider/network/MemoryXyoNetwork.d.ts +3 -3
- package/dist/neutral/provider/network/MemoryXyoNetwork.d.ts.map +1 -1
- package/dist/neutral/provider/network/lib/StatusNetworks.d.ts +3 -3
- package/dist/neutral/provider/network/lib/StatusNetworks.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
- package/dist/neutral/transport/post-message/index.d.ts +1 -1
- package/dist/neutral/transport/post-message/index.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/resolveData.d.ts +13 -0
- package/dist/neutral/transport/post-message/resolveData.d.ts.map +1 -0
- package/dist/neutral/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/neutral/types/XyoGatewayRpc.d.ts.map +1 -1
- package/dist/node/index-node.mjs +550 -530
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/client/MemoryXyoClient.d.ts +2 -2
- package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
- package/dist/node/provider/{provider → connection}/HttpRpcXyoConnection.d.ts +2 -0
- package/dist/node/provider/connection/HttpRpcXyoConnection.d.ts.map +1 -0
- package/dist/node/provider/{provider → connection}/XyoConnection.d.ts +4 -2
- package/dist/node/provider/connection/XyoConnection.d.ts.map +1 -0
- package/dist/node/provider/connection/index.d.ts.map +1 -0
- package/dist/node/provider/connection/spec/XyoConnection.d.ts.map +1 -0
- package/dist/node/provider/datalake/AbstractXyoDataLake.d.ts +10 -0
- package/dist/node/provider/datalake/AbstractXyoDataLake.d.ts.map +1 -0
- package/dist/node/provider/datalake/ArchivistXyoDataLake.d.ts +11 -0
- package/dist/node/provider/datalake/ArchivistXyoDataLake.d.ts.map +1 -0
- package/dist/node/provider/datalake/HttpXyoDataLake.d.ts +20 -0
- package/dist/node/provider/datalake/HttpXyoDataLake.d.ts.map +1 -0
- package/dist/node/provider/datalake/index.d.ts +4 -0
- package/dist/node/provider/datalake/index.d.ts.map +1 -0
- package/dist/node/provider/gateway/Abstract.d.ts +13 -0
- package/dist/node/provider/gateway/Abstract.d.ts.map +1 -0
- package/dist/node/provider/gateway/MemoryXyoGateway.d.ts.map +1 -0
- package/dist/node/provider/gateway/index.d.ts.map +1 -0
- package/dist/node/provider/gateway/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
- package/dist/node/provider/index.d.ts +3 -2
- package/dist/node/provider/index.d.ts.map +1 -1
- package/dist/node/provider/network/MemoryXyoNetwork.d.ts +3 -3
- package/dist/node/provider/network/MemoryXyoNetwork.d.ts.map +1 -1
- package/dist/node/provider/network/lib/StatusNetworks.d.ts +3 -3
- package/dist/node/provider/network/lib/StatusNetworks.d.ts.map +1 -1
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
- package/dist/node/transport/post-message/index.d.ts +1 -1
- package/dist/node/transport/post-message/index.d.ts.map +1 -1
- package/dist/node/transport/post-message/resolveData.d.ts +13 -0
- package/dist/node/transport/post-message/resolveData.d.ts.map +1 -0
- package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
- package/package.json +37 -36
- package/src/provider/client/MemoryXyoClient.ts +3 -3
- package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +1 -1
- package/src/provider/client/spec/MemoryXyoClient.spec.ts +17 -10
- package/src/provider/{provider → connection}/HttpRpcXyoConnection.ts +10 -3
- package/src/provider/{provider → connection}/XyoConnection.ts +7 -2
- package/src/provider/{provider → connection}/spec/XyoConnection.ts +1 -0
- package/src/provider/datalake/AbstractXyoDataLake.ts +38 -0
- package/src/provider/datalake/ArchivistXyoDataLake.ts +26 -0
- package/src/provider/datalake/HttpXyoDataLake.ts +105 -0
- package/src/provider/datalake/index.ts +3 -0
- package/src/provider/gateway/Abstract.ts +47 -0
- package/src/provider/{host → gateway}/spec/MemoryXyoGateway.spec.ts +7 -3
- package/src/provider/index.ts +3 -2
- package/src/provider/network/MemoryXyoNetwork.ts +4 -3
- package/src/provider/network/lib/StatusNetworks.ts +9 -9
- package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +2 -1
- package/src/transport/post-message/LegacyPostMessageRpcTransport.ts +117 -0
- package/src/transport/post-message/helpers.ts +1 -1
- package/src/transport/post-message/index.ts +1 -1
- package/src/transport/post-message/resolveData.ts +30 -0
- package/src/types/XyoGatewayRpc.ts +2 -2
- package/src/types/global.d.ts +1 -1
- package/dist/neutral/provider/host/Abstract.d.ts +0 -15
- package/dist/neutral/provider/host/Abstract.d.ts.map +0 -1
- package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +0 -1
- package/dist/neutral/provider/host/index.d.ts.map +0 -1
- package/dist/neutral/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +0 -1
- package/dist/neutral/provider/provider/HttpRpcXyoConnection.d.ts.map +0 -1
- package/dist/neutral/provider/provider/XyoConnection.d.ts.map +0 -1
- package/dist/neutral/provider/provider/index.d.ts.map +0 -1
- package/dist/neutral/provider/provider/spec/XyoConnection.d.ts.map +0 -1
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
- package/dist/node/provider/host/Abstract.d.ts +0 -15
- package/dist/node/provider/host/Abstract.d.ts.map +0 -1
- package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +0 -1
- package/dist/node/provider/host/index.d.ts.map +0 -1
- package/dist/node/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +0 -1
- package/dist/node/provider/provider/HttpRpcXyoConnection.d.ts.map +0 -1
- package/dist/node/provider/provider/XyoConnection.d.ts.map +0 -1
- package/dist/node/provider/provider/index.d.ts.map +0 -1
- package/dist/node/provider/provider/spec/XyoConnection.d.ts.map +0 -1
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
- package/src/provider/host/Abstract.ts +0 -42
- package/src/transport/post-message/PostMessageRpcTransport.ts +0 -73
- /package/dist/neutral/provider/{provider → connection}/index.d.ts +0 -0
- /package/dist/neutral/provider/{provider → connection}/spec/XyoConnection.d.ts +0 -0
- /package/dist/neutral/provider/{host → gateway}/MemoryXyoGateway.d.ts +0 -0
- /package/dist/neutral/provider/{host → gateway}/index.d.ts +0 -0
- /package/dist/neutral/provider/{host → gateway}/spec/MemoryXyoGateway.spec.d.ts +0 -0
- /package/dist/node/provider/{provider → connection}/index.d.ts +0 -0
- /package/dist/node/provider/{provider → connection}/spec/XyoConnection.d.ts +0 -0
- /package/dist/node/provider/{host → gateway}/MemoryXyoGateway.d.ts +0 -0
- /package/dist/node/provider/{host → gateway}/index.d.ts +0 -0
- /package/dist/node/provider/{host → gateway}/spec/MemoryXyoGateway.spec.d.ts +0 -0
- /package/src/provider/{provider → connection}/index.ts +0 -0
- /package/src/provider/{host → gateway}/MemoryXyoGateway.ts +0 -0
- /package/src/provider/{host → gateway}/index.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/connection/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XyoConnection.d.ts","sourceRoot":"","sources":["../../../../../src/provider/connection/spec/XyoConnection.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Hash } from '@xylabs/hex';
|
|
2
|
+
import type { Payload } from '@xyo-network/payload-model';
|
|
3
|
+
import { type DataLakeData, type XyoDataLakeProvider } from '@xyo-network/xl1-protocol';
|
|
4
|
+
export declare abstract class AbstractXyoDataLake implements XyoDataLakeProvider {
|
|
5
|
+
fetch(hashes: Hash[], maxDepth?: number): Promise<DataLakeData[]>;
|
|
6
|
+
trace(hash: Hash): Promise<[DataLakeData | undefined, Payload[]]>;
|
|
7
|
+
abstract add(items: DataLakeData[]): Promise<DataLakeData[]>;
|
|
8
|
+
abstract get(hashes: Hash[]): Promise<DataLakeData[]>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=AbstractXyoDataLake.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractXyoDataLake.d.ts","sourceRoot":"","sources":["../../../../src/provider/datalake/AbstractXyoDataLake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAGvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAA;AAElC,8BAAsB,mBAAoB,YAAW,mBAAmB;IAChE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAarE,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,YAAY,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IASvE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAE5D,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CACtD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Hash } from '@xylabs/hex';
|
|
2
|
+
import type { ReadWriteArchivist } from '@xyo-network/archivist-model';
|
|
3
|
+
import { type DataLakeData } from '@xyo-network/xl1-protocol';
|
|
4
|
+
import { AbstractXyoDataLake } from './AbstractXyoDataLake.ts';
|
|
5
|
+
export declare class ArchivistXyoDataLake extends AbstractXyoDataLake {
|
|
6
|
+
private _archivist;
|
|
7
|
+
constructor(archivist: ReadWriteArchivist);
|
|
8
|
+
add(items: DataLakeData[]): Promise<DataLakeData[]>;
|
|
9
|
+
get(hashes: Hash[]): Promise<DataLakeData[]>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ArchivistXyoDataLake.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArchivistXyoDataLake.d.ts","sourceRoot":"","sources":["../../../../src/provider/datalake/ArchivistXyoDataLake.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC3D,OAAO,CAAC,UAAU,CAAoB;gBAE1B,SAAS,EAAE,kBAAkB;IAKnC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAMnD,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAGnD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Hash } from '@xylabs/hex';
|
|
2
|
+
import type { Promisable } from '@xylabs/promise';
|
|
3
|
+
import { type Payload } from '@xyo-network/payload-model';
|
|
4
|
+
import { type DataLakeData } from '@xyo-network/xl1-protocol';
|
|
5
|
+
import { AbstractXyoDataLake } from './AbstractXyoDataLake.ts';
|
|
6
|
+
export declare class HttpXyoDataLake extends AbstractXyoDataLake {
|
|
7
|
+
private _axiosGet;
|
|
8
|
+
private _axiosInsertBlob;
|
|
9
|
+
private _axiosInsertJson;
|
|
10
|
+
private _endpoint;
|
|
11
|
+
constructor(endpoint: string);
|
|
12
|
+
get endpoint(): string;
|
|
13
|
+
add(items: DataLakeData[]): Promise<DataLakeData[]>;
|
|
14
|
+
get(hashes: Hash[]): Promise<DataLakeData[]>;
|
|
15
|
+
protected addArrayBuffer(item: ArrayBuffer): Promise<ArrayBuffer | undefined>;
|
|
16
|
+
protected addPayload(item: Payload): Promise<Payload | undefined>;
|
|
17
|
+
protected fetchOne(hash: Hash, maxDepth?: number): Promise<DataLakeData | undefined>;
|
|
18
|
+
protected getOne(hash: Hash): Promisable<DataLakeData | undefined>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=HttpXyoDataLake.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpXyoDataLake.d.ts","sourceRoot":"","sources":["../../../../src/provider/datalake/HttpXyoDataLake.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,2BAA2B,CAAA;AAG5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,gBAAgB,CAAO;IAC/B,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,SAAS,CAAQ;gBAEb,QAAQ,EAAE,MAAM;IAQ5B,IAAI,QAAQ,IAAI,MAAM,CAErB;IAEK,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsBnD,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;cAMlC,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;cAYnE,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;cAYvD,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAE,MAAgC,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAWnH,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC;CAWnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/datalake/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Hash } from '@xylabs/hex';
|
|
2
|
+
import type { Promisable } from '@xylabs/promise';
|
|
3
|
+
import type { Payload } from '@xyo-network/payload-model';
|
|
4
|
+
import { type AllowedBlockPayload, type HydratedTransaction, type XyoConnectionProvider, type XyoGatewayProvider, type XyoSigner } from '@xyo-network/xl1-protocol';
|
|
5
|
+
export declare abstract class AbstractXyoGateway implements XyoGatewayProvider {
|
|
6
|
+
addPayloadsToChain(onChain: AllowedBlockPayload[], offChain: Payload[]): Promise<[Hash, HydratedTransaction]>;
|
|
7
|
+
addTransactionToChain(tx: HydratedTransaction): Promise<Hash>;
|
|
8
|
+
/** @deprecated use addPayloadsToChain instead */
|
|
9
|
+
submitTransaction(elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[]): Promise<HydratedTransaction>;
|
|
10
|
+
abstract connection(): Promisable<XyoConnectionProvider>;
|
|
11
|
+
abstract signer(): Promisable<XyoSigner>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=Abstract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/provider/gateway/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAC9F,MAAM,2BAA2B,CAAA;AAGlC,8BAAsB,kBAAmB,YAAW,kBAAkB;IAC9D,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAW7G,qBAAqB,CAAC,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE,iDAAiD;IAC3C,iBAAiB,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAS7H,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,qBAAqB,CAAC;IACxD,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryXyoGateway.d.ts","sourceRoot":"","sources":["../../../../src/provider/gateway/MemoryXyoGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;gBAEvB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB;IAMhE,UAAU,IAAI,qBAAqB;IAInC,MAAM,IAAI,SAAS;CAGpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/provider/gateway/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryXyoGateway.spec.d.ts","sourceRoot":"","sources":["../../../../../src/provider/gateway/spec/MemoryXyoGateway.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export * from './client/index.ts';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './connection/index.ts';
|
|
3
|
+
export * from './datalake/index.ts';
|
|
4
|
+
export * from './gateway/index.ts';
|
|
3
5
|
export * from './network/index.ts';
|
|
4
|
-
export * from './provider/index.ts';
|
|
5
6
|
export * from './runner/index.ts';
|
|
6
7
|
export * from './signer/index.ts';
|
|
7
8
|
export * from './viewer/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GatewayName, NetworkStatus, XyoNetwork } from '@xyo-network/xl1-protocol';
|
|
2
2
|
export declare class MemoryXyoNetwork implements XyoNetwork {
|
|
3
|
-
protected readonly _networkId:
|
|
4
|
-
constructor(networkId:
|
|
3
|
+
protected readonly _networkId: GatewayName;
|
|
4
|
+
constructor(networkId: GatewayName);
|
|
5
5
|
status(): Promise<NetworkStatus>;
|
|
6
6
|
private makeRequest;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryXyoNetwork.d.ts","sourceRoot":"","sources":["../../../../src/provider/network/MemoryXyoNetwork.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"MemoryXyoNetwork.d.ts","sourceRoot":"","sources":["../../../../src/provider/network/MemoryXyoNetwork.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EAAE,UAAU,EAC1B,MAAM,2BAA2B,CAAA;AAQlC,qBAAa,gBAAiB,YAAW,UAAU;IACjD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAA;gBAE9B,SAAS,EAAE,WAAW;IAI5B,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;YASxB,WAAW;CAkB1B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GatewayName } from '@xyo-network/xl1-protocol';
|
|
2
2
|
export type StatusNetwork = {
|
|
3
|
-
id:
|
|
3
|
+
id: GatewayName;
|
|
4
4
|
statusUrl: string;
|
|
5
5
|
};
|
|
6
6
|
export declare const MainNetworkStats: StatusNetwork;
|
|
7
7
|
export declare const SequenceNetworkStats: StatusNetwork;
|
|
8
8
|
export declare const LocalNetworkStats: StatusNetwork;
|
|
9
|
-
export declare const StatusNetworks: Record<
|
|
9
|
+
export declare const StatusNetworks: Record<GatewayName, StatusNetwork>;
|
|
10
10
|
//# sourceMappingURL=StatusNetworks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusNetworks.d.ts","sourceRoot":"","sources":["../../../../../src/provider/network/lib/StatusNetworks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"StatusNetworks.d.ts","sourceRoot":"","sources":["../../../../../src/provider/network/lib/StatusNetworks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,WAAW,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,aAG9B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,aAGlC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,aAG/B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAI7D,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { RpcSchemaMap } from '../../types/index.ts';
|
|
3
|
+
import type { RpcTransport } from '../RpcTransport.ts';
|
|
4
|
+
/** @deprecated - now part of a client gateway */
|
|
5
|
+
export declare class LegacyPostMessageRpcTransport<T extends RpcSchemaMap = RpcSchemaMap> implements RpcTransport<T> {
|
|
6
|
+
protected readonly destination?: string;
|
|
7
|
+
protected readonly schemas: T;
|
|
8
|
+
protected readonly sessionId?: string;
|
|
9
|
+
constructor(defaultDestination?: string, schemas?: T, sessionId?: string);
|
|
10
|
+
sendRequest<TMethod extends keyof T & string>(method: TMethod, params?: z.infer<T[TMethod]['params']['to']>): Promise<z.infer<T[TMethod]['result']['from']>>;
|
|
11
|
+
private callRpc;
|
|
12
|
+
}
|
|
13
|
+
/** @deprecated - use LegacyPostMessageRpcTransport but rely on wallet release > 1.17.1 to handle the postMessage flow */
|
|
14
|
+
export declare const PostMessageRpcTransport: typeof LegacyPostMessageRpcTransport;
|
|
15
|
+
//# sourceMappingURL=LegacyPostMessageRpcTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegacyPostMessageRpcTransport.d.ts","sourceRoot":"","sources":["../../../../src/transport/post-message/LegacyPostMessageRpcTransport.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAetD,iDAAiD;AACjD,qBAAa,6BAA6B,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAC1G,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IACvC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEzB,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,CAA6B,EAAE,SAAS,CAAC,EAAE,MAAM;IAM7F,WAAW,CACf,OAAO,SAAS,MAAM,CAAC,GAAG,MAAM,EAEhC,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAKnC,OAAO;CAgEtB;AAED,yHAAyH;AACzH,eAAO,MAAM,uBAAuB,sCAAgC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/post-message/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/post-message/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NOTE: This file is to help resolve the data from a postMessage event in the transport
|
|
3
|
+
* layer. Older implementations require the id to be at the top level, while newer
|
|
4
|
+
* implementations nest the id inside a data object. Once the wallet extension is updated
|
|
5
|
+
* to always use the nested structure, this file can be removed.
|
|
6
|
+
*/
|
|
7
|
+
type ResolvedEventData = {
|
|
8
|
+
eventData?: any;
|
|
9
|
+
legacyEventData?: any;
|
|
10
|
+
};
|
|
11
|
+
export declare const resolvedEvent: (event: MessageEvent, targetId: string) => false | ResolvedEventData;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=resolveData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveData.d.ts","sourceRoot":"","sources":["../../../../src/transport/post-message/resolveData.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,eAAe,CAAC,EAAE,GAAG,CAAA;CACtB,CAAA;AAcD,eAAO,MAAM,aAAa,GAAI,OAAO,YAAY,EAAE,UAAU,MAAM,KAAG,KAAK,GAAG,iBAG7E,CAAA"}
|
|
@@ -3,6 +3,6 @@ export type XyoGatewayMethodPrefix = 'xyoGateway';
|
|
|
3
3
|
export type XyoGatewayMethodName = keyof Pick<XyoGatewayProvider, 'submitTransaction'>;
|
|
4
4
|
export type XyoGatewayRpcMethodName = `${XyoGatewayMethodPrefix}_${XyoGatewayMethodName}`;
|
|
5
5
|
export type XyoGatewayRpcMethodHandlers = {
|
|
6
|
-
[K in XyoGatewayMethodName as `${XyoGatewayMethodPrefix}_${K}`]: (params: Parameters<XyoGatewayProvider[K]
|
|
6
|
+
[K in XyoGatewayMethodName as `${XyoGatewayMethodPrefix}_${K}`]: (params: Parameters<Exclude<XyoGatewayProvider[K], undefined>>) => ReturnType<Exclude<XyoGatewayProvider[K], undefined>>;
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=XyoGatewayRpc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoGatewayRpc.d.ts","sourceRoot":"","sources":["../../../src/types/XyoGatewayRpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAA;AAEjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;AAGtF,MAAM,MAAM,uBAAuB,GAAG,GAAG,sBAAsB,IAAI,oBAAoB,EAAE,CAAA;AAGzF,MAAM,MAAM,2BAA2B,GAAG;KACvC,CAAC,IAAI,oBAAoB,IAAI,GAAG,sBAAsB,IAAI,CAAC,EAAE,GAAG,CAC/D,MAAM,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"XyoGatewayRpc.d.ts","sourceRoot":"","sources":["../../../src/types/XyoGatewayRpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAA;AAEjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;AAGtF,MAAM,MAAM,uBAAuB,GAAG,GAAG,sBAAsB,IAAI,oBAAoB,EAAE,CAAA;AAGzF,MAAM,MAAM,2BAA2B,GAAG;KACvC,CAAC,IAAI,oBAAoB,IAAI,GAAG,sBAAsB,IAAI,CAAC,EAAE,GAAG,CAC/D,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,KAC1D,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CAC3D,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/xl1-rpc",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.10.1",
|
|
5
5
|
"description": "XYO Layer One API",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -57,43 +57,44 @@
|
|
|
57
57
|
"types": "tsc --noEmit -p tsconfig.test.json"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@metamask/json-rpc-engine": "
|
|
61
|
-
"@metamask/utils": "
|
|
62
|
-
"@xylabs/assert": "
|
|
63
|
-
"@xylabs/axios": "
|
|
64
|
-
"@xylabs/
|
|
65
|
-
"@xylabs/
|
|
66
|
-
"@xylabs/
|
|
67
|
-
"@xylabs/
|
|
68
|
-
"@
|
|
69
|
-
"@xyo-network/
|
|
70
|
-
"@xyo-network/archivist-
|
|
71
|
-
"@xyo-network/
|
|
72
|
-
"@xyo-network/
|
|
73
|
-
"@xyo-network/
|
|
74
|
-
"@xyo-network/
|
|
75
|
-
"@xyo-network/
|
|
76
|
-
"@xyo-network/payload-
|
|
77
|
-
"@xyo-network/
|
|
78
|
-
"@xyo-network/
|
|
79
|
-
"@xyo-network/xl1-
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
60
|
+
"@metamask/json-rpc-engine": "~10.0.3",
|
|
61
|
+
"@metamask/utils": "~11.4.2",
|
|
62
|
+
"@xylabs/assert": "~5.0.3",
|
|
63
|
+
"@xylabs/axios": "~5.0.3",
|
|
64
|
+
"@xylabs/exists": "~5.0.3",
|
|
65
|
+
"@xylabs/hex": "~5.0.3",
|
|
66
|
+
"@xylabs/object": "~5.0.3",
|
|
67
|
+
"@xylabs/promise": "~5.0.3",
|
|
68
|
+
"@xylabs/typeof": "~5.0.3",
|
|
69
|
+
"@xyo-network/account-model": "~5.0.1",
|
|
70
|
+
"@xyo-network/archivist-memory": "~5.0.1",
|
|
71
|
+
"@xyo-network/archivist-model": "~5.0.1",
|
|
72
|
+
"@xyo-network/boundwitness-model": "~5.0.1",
|
|
73
|
+
"@xyo-network/hash": "~5.0.1",
|
|
74
|
+
"@xyo-network/module-model": "~5.0.1",
|
|
75
|
+
"@xyo-network/node-model": "~5.0.1",
|
|
76
|
+
"@xyo-network/payload-builder": "~5.0.1",
|
|
77
|
+
"@xyo-network/payload-model": "~5.0.1",
|
|
78
|
+
"@xyo-network/payload-wrapper": "~5.0.1",
|
|
79
|
+
"@xyo-network/xl1-protocol": "~1.9.3",
|
|
80
|
+
"@xyo-network/xl1-protocol-sdk": "~1.10.1",
|
|
81
|
+
"@xyo-network/xl1-wrappers": "~1.10.1",
|
|
82
|
+
"axios": "~1.11.0",
|
|
83
|
+
"uuid": "~11.1.0",
|
|
84
|
+
"zod": "~3.25.76"
|
|
83
85
|
},
|
|
84
86
|
"devDependencies": {
|
|
85
|
-
"@metamask/utils": "
|
|
86
|
-
"@types/node": "
|
|
87
|
-
"@xylabs/logger": "
|
|
88
|
-
"@xylabs/ts-scripts-yarn3": "
|
|
89
|
-
"@xylabs/tsconfig": "
|
|
90
|
-
"@xylabs/vitest-extended": "
|
|
91
|
-
"@xyo-network/account": "
|
|
92
|
-
"@xyo-network/wallet": "
|
|
93
|
-
"dotenv": "
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"vitest": "^3.2.4"
|
|
87
|
+
"@metamask/utils": "~11.4.2",
|
|
88
|
+
"@types/node": "~24.2.0",
|
|
89
|
+
"@xylabs/logger": "~5.0.3",
|
|
90
|
+
"@xylabs/ts-scripts-yarn3": "~7.1.0",
|
|
91
|
+
"@xylabs/tsconfig": "~7.1.0",
|
|
92
|
+
"@xylabs/vitest-extended": "~5.0.3",
|
|
93
|
+
"@xyo-network/account": "~5.0.1",
|
|
94
|
+
"@xyo-network/wallet": "~5.0.1",
|
|
95
|
+
"dotenv": "~17.2.1",
|
|
96
|
+
"typescript": "~5.9.2",
|
|
97
|
+
"vitest": "~3.2.4"
|
|
97
98
|
},
|
|
98
99
|
"packageManager": "yarn@4.6.0",
|
|
99
100
|
"engines": {
|
|
@@ -4,10 +4,10 @@ import type {
|
|
|
4
4
|
|
|
5
5
|
export class MemoryXyoClient implements XyoClient {
|
|
6
6
|
gateways: Readonly<Record<string, XyoGatewayProvider>>
|
|
7
|
-
|
|
7
|
+
permissions: PermissionsProvider
|
|
8
8
|
|
|
9
|
-
constructor(gateways: Readonly<Record<string, XyoGatewayProvider>>,
|
|
9
|
+
constructor(gateways: Readonly<Record<string, XyoGatewayProvider>>, permissions: PermissionsProvider) {
|
|
10
10
|
this.gateways = gateways
|
|
11
|
-
this.
|
|
11
|
+
this.permissions = permissions
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -2,7 +2,7 @@ import { type RpcTransport } from '../../../transport/index.ts'
|
|
|
2
2
|
import type { XyoGatewayRpcSchemas } from '../../../types/index.ts'
|
|
3
3
|
import type { PermissionsStore } from './PermissionsStore.ts'
|
|
4
4
|
|
|
5
|
-
export const getPermissionsStoreFromTransport = (
|
|
5
|
+
export const getPermissionsStoreFromTransport = (_transport: RpcTransport<typeof XyoGatewayRpcSchemas>): PermissionsStore => {
|
|
6
6
|
throw new Error('Not implemented')
|
|
7
7
|
// return {
|
|
8
8
|
// getPermissions: () => transport.sendRequest('xyoGateway_getPermissions'),
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { isHash } from '@xylabs/hex'
|
|
1
2
|
import type { AccountInstance } from '@xyo-network/account-model'
|
|
2
3
|
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
3
4
|
import type { Payload } from '@xyo-network/payload-model'
|
|
4
5
|
import { HDWallet } from '@xyo-network/wallet'
|
|
5
6
|
import type {
|
|
6
|
-
AllowedBlockPayload, HashPayload, XyoClient,
|
|
7
|
+
AllowedBlockPayload, GatewayName, HashPayload, XyoClient,
|
|
8
|
+
XyoConnectionProvider,
|
|
7
9
|
} from '@xyo-network/xl1-protocol'
|
|
8
10
|
import { HashSchema } from '@xyo-network/xl1-protocol'
|
|
9
11
|
import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from '@xyo-network/xl1-protocol-sdk'
|
|
@@ -11,8 +13,8 @@ import {
|
|
|
11
13
|
beforeAll, beforeEach, describe, expect, it,
|
|
12
14
|
} from 'vitest'
|
|
13
15
|
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
+
import { HttpRpcXyoConnection } from '../../connection/index.ts'
|
|
17
|
+
import { MemoryXyoGateway } from '../../gateway/index.ts'
|
|
16
18
|
import { MemoryXyoSigner } from '../../signer/index.ts'
|
|
17
19
|
import { MemoryXyoClient } from '../MemoryXyoClient.ts'
|
|
18
20
|
import { MemoryPermissionsStore } from '../PermissionsStore/index.ts'
|
|
@@ -24,11 +26,11 @@ type TestPayload = Payload<{
|
|
|
24
26
|
|
|
25
27
|
describe('Client', () => {
|
|
26
28
|
const endpoint = 'http://localhost:8080/rpc'
|
|
27
|
-
const dataLakeEndpoint = 'http://localhost:8080/chain/archivist'
|
|
29
|
+
// const dataLakeEndpoint = 'http://localhost:8080/chain/archivist'
|
|
28
30
|
let account: AccountInstance
|
|
29
31
|
let signer: MemoryXyoSigner
|
|
30
32
|
let store: MemoryPermissionsStore
|
|
31
|
-
let connection:
|
|
33
|
+
let connection: XyoConnectionProvider
|
|
32
34
|
let gateway: MemoryXyoGateway
|
|
33
35
|
let client: XyoClient
|
|
34
36
|
|
|
@@ -38,7 +40,11 @@ describe('Client', () => {
|
|
|
38
40
|
account = await wallet.derivePath(ADDRESS_INDEX.XYO)
|
|
39
41
|
signer = new MemoryXyoSigner(account)
|
|
40
42
|
store = new MemoryPermissionsStore()
|
|
41
|
-
connection = new
|
|
43
|
+
connection = new HttpRpcXyoConnection({
|
|
44
|
+
endpoint,
|
|
45
|
+
account,
|
|
46
|
+
// storage: dataLakeEndpoint,
|
|
47
|
+
})
|
|
42
48
|
gateway = new MemoryXyoGateway(signer, connection)
|
|
43
49
|
client = new MemoryXyoClient({ localhost: gateway }, store)
|
|
44
50
|
})
|
|
@@ -55,16 +61,17 @@ describe('Client', () => {
|
|
|
55
61
|
offChainPayloads = [id]
|
|
56
62
|
})
|
|
57
63
|
it('should be defined', () => {
|
|
58
|
-
const gateway = client.gateways
|
|
64
|
+
const gateway = client.gateways['localhost' as GatewayName].connection()
|
|
59
65
|
expect(gateway).toBeDefined()
|
|
60
66
|
})
|
|
61
67
|
it('should allow retrieving the chain ID', async () => {
|
|
62
|
-
const chainId = await (await client.gateways
|
|
68
|
+
const chainId = await (await client.gateways['localhost' as GatewayName]?.connection())?.viewer?.chainId()
|
|
63
69
|
expect(chainId).toBeDefined()
|
|
64
70
|
})
|
|
65
71
|
it.only('should allow for submitting transactions', async () => {
|
|
66
|
-
const
|
|
67
|
-
expect(
|
|
72
|
+
const [hash, tx] = await client.gateways['localhost' as GatewayName]?.addPayloadsToChain?.(onChainPayloads, offChainPayloads) ?? []
|
|
73
|
+
expect(isHash(hash)).toBeTrue()
|
|
74
|
+
expect(tx).toBeDefined()
|
|
68
75
|
})
|
|
69
76
|
})
|
|
70
77
|
})
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { isDefined } from '@xylabs/typeof'
|
|
1
|
+
import { isDefined, isString } from '@xylabs/typeof'
|
|
2
2
|
import type { AccountInstance } from '@xyo-network/account-model'
|
|
3
|
+
import type { XyoDataLakeProvider } from '@xyo-network/xl1-protocol'
|
|
4
|
+
import { isDataLakeProvider } from '@xyo-network/xl1-protocol'
|
|
3
5
|
|
|
4
6
|
import { HttpRpcTransport } from '../../transport/index.ts'
|
|
5
7
|
import { XyoRunnerRpcSchemas, XyoViewerRpcSchemas } from '../../types/index.ts'
|
|
8
|
+
import { HttpXyoDataLake } from '../datalake/index.ts'
|
|
6
9
|
import { JsonRpcXyoRunner } from '../runner/index.ts'
|
|
7
10
|
import { MemoryXyoSigner } from '../signer/index.ts'
|
|
8
11
|
import { JsonRpcXyoViewer } from '../viewer/index.ts'
|
|
@@ -11,17 +14,21 @@ import { XyoConnection } from './XyoConnection.ts'
|
|
|
11
14
|
export interface RpcXyoProviderParams {
|
|
12
15
|
account?: AccountInstance
|
|
13
16
|
endpoint: string
|
|
17
|
+
storage?: string | XyoDataLakeProvider
|
|
14
18
|
}
|
|
15
19
|
|
|
16
20
|
export class HttpRpcXyoConnection extends XyoConnection {
|
|
17
21
|
constructor(params: RpcXyoProviderParams) {
|
|
18
|
-
const {
|
|
22
|
+
const {
|
|
23
|
+
account, endpoint, storage: storageParam,
|
|
24
|
+
} = params
|
|
19
25
|
const signer = isDefined(account) ? new MemoryXyoSigner(account) : undefined
|
|
20
26
|
const transport = new HttpRpcTransport(endpoint, { ...XyoRunnerRpcSchemas, ...XyoViewerRpcSchemas })
|
|
21
27
|
const runner = new JsonRpcXyoRunner(transport)
|
|
22
28
|
const viewer = new JsonRpcXyoViewer(transport)
|
|
29
|
+
const storage = isDataLakeProvider(storageParam) ? storageParam : isString(storageParam) ? new HttpXyoDataLake(storageParam) : undefined
|
|
23
30
|
super({
|
|
24
|
-
signer, runner, viewer,
|
|
31
|
+
signer, runner, viewer, storage,
|
|
25
32
|
})
|
|
26
33
|
}
|
|
27
34
|
}
|
|
@@ -7,7 +7,7 @@ import type {
|
|
|
7
7
|
AllowedBlockPayload,
|
|
8
8
|
HydratedTransaction,
|
|
9
9
|
TransactionBoundWitness, TransactionFeesBigInt,
|
|
10
|
-
|
|
10
|
+
TransactionOptions, XyoConnectionProvider, XyoDataLakeProvider, XyoDataLakeViewer, XyoNetwork, XyoRunner, XyoSigner, XyoViewer,
|
|
11
11
|
} from '@xyo-network/xl1-protocol'
|
|
12
12
|
import { defaultTransactionFees, isDataLakeProvider } from '@xyo-network/xl1-protocol'
|
|
13
13
|
import { HydratedTransactionWrapper } from '@xyo-network/xl1-wrappers'
|
|
@@ -41,6 +41,7 @@ export class XyoConnection implements XyoConnectionProvider {
|
|
|
41
41
|
return this._runner
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/** @deprecated use signer from gateway instead */
|
|
44
45
|
get signer(): XyoSigner | undefined {
|
|
45
46
|
return this._signer
|
|
46
47
|
}
|
|
@@ -63,19 +64,22 @@ export class XyoConnection implements XyoConnectionProvider {
|
|
|
63
64
|
from?: Address,
|
|
64
65
|
fees?: TransactionFeesBigInt,
|
|
65
66
|
): Promise<Signed<TransactionBoundWitness>> {
|
|
67
|
+
// eslint-disable-next-line sonarjs/deprecation
|
|
66
68
|
return (await this.submitTransaction(elevatedPayloads, additionalPayloads, {
|
|
67
69
|
chain, nbf, exp, from, fees,
|
|
68
70
|
}))[0]
|
|
69
71
|
}
|
|
70
72
|
|
|
73
|
+
/** @deprecated use addPayloadsToChain from gateway instead */
|
|
71
74
|
async submitTransaction(
|
|
72
75
|
elevatedPayloads: AllowedBlockPayload[],
|
|
73
76
|
additionalPayloads: Payload[],
|
|
74
77
|
{
|
|
75
78
|
chain, exp, fees, from, nbf,
|
|
76
|
-
}:
|
|
79
|
+
}: TransactionOptions = {},
|
|
77
80
|
): Promise<HydratedTransaction> {
|
|
78
81
|
const viewer = assertEx(this.viewer, () => 'No viewer available')
|
|
82
|
+
// eslint-disable-next-line sonarjs/deprecation
|
|
79
83
|
const signer = assertEx(this.signer, () => 'No signer available')
|
|
80
84
|
const runner = assertEx(this.runner, () => 'No runner available')
|
|
81
85
|
const storage = this.storage
|
|
@@ -86,6 +90,7 @@ export class XyoConnection implements XyoConnectionProvider {
|
|
|
86
90
|
const feesResolved = fees ?? defaultTransactionFees
|
|
87
91
|
const fromResolved = from ?? await signer.address()
|
|
88
92
|
if (fromResolved === undefined) throw new Error('Failed to determine from address')
|
|
93
|
+
// eslint-disable-next-line sonarjs/deprecation
|
|
89
94
|
const signedTransaction = assertEx(await signer.createSignedTransaction(
|
|
90
95
|
chainResolved,
|
|
91
96
|
elevatedPayloads,
|
|
@@ -19,6 +19,7 @@ describe('RpcEngine - XyoProvider', () => {
|
|
|
19
19
|
sut = new XyoConnection({ runner, signer })
|
|
20
20
|
})
|
|
21
21
|
it('should submit transaction', async () => {
|
|
22
|
+
// eslint-disable-next-line sonarjs/deprecation
|
|
22
23
|
const result = await sut.send?.([], [], chain, 0, Number.MAX_VALUE)
|
|
23
24
|
expect(result).toBeDefined()
|
|
24
25
|
})
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Hash } from '@xylabs/hex'
|
|
2
|
+
import { ObjectHasher } from '@xyo-network/hash'
|
|
3
|
+
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
4
|
+
import type { Payload } from '@xyo-network/payload-model'
|
|
5
|
+
import { isAnyPayload } from '@xyo-network/payload-model'
|
|
6
|
+
import {
|
|
7
|
+
type DataLakeData,
|
|
8
|
+
isHashPayload,
|
|
9
|
+
type XyoDataLakeProvider,
|
|
10
|
+
} from '@xyo-network/xl1-protocol'
|
|
11
|
+
|
|
12
|
+
export abstract class AbstractXyoDataLake implements XyoDataLakeProvider {
|
|
13
|
+
async fetch(hashes: Hash[], maxDepth: number = 10): Promise<DataLakeData[]> {
|
|
14
|
+
const results: DataLakeData[] = await this.get(hashes)
|
|
15
|
+
if (maxDepth > 0) {
|
|
16
|
+
const hashPayloads = results.filter(isHashPayload)
|
|
17
|
+
const otherPayloads = results.filter(item => !isHashPayload(item))
|
|
18
|
+
const found = await this.fetch(hashPayloads.map(item => item.hash), maxDepth - 1)
|
|
19
|
+
const foundHashes = await Promise.all(found.map(async item => isAnyPayload(item) ? await PayloadBuilder.hash(item) : ObjectHasher.hashBytes(item)))
|
|
20
|
+
const notFound = hashPayloads.filter(item => !foundHashes.includes(item.hash))
|
|
21
|
+
return [...otherPayloads, ...found, ...notFound]
|
|
22
|
+
}
|
|
23
|
+
return results
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async trace(hash: Hash): Promise<[DataLakeData | undefined, Payload[]]> {
|
|
27
|
+
const [result] = await this.get([hash])
|
|
28
|
+
if (isHashPayload(result)) {
|
|
29
|
+
const [payload, route] = await this.trace(result.hash)
|
|
30
|
+
return [payload, [result, ...route]]
|
|
31
|
+
}
|
|
32
|
+
return [result, []]
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
abstract add(items: DataLakeData[]): Promise<DataLakeData[]>
|
|
36
|
+
|
|
37
|
+
abstract get(hashes: Hash[]): Promise<DataLakeData[]>
|
|
38
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert'
|
|
2
|
+
import type { Hash } from '@xylabs/hex'
|
|
3
|
+
import type { ReadWriteArchivist } from '@xyo-network/archivist-model'
|
|
4
|
+
import { isAnyPayload } from '@xyo-network/payload-model'
|
|
5
|
+
import { type DataLakeData } from '@xyo-network/xl1-protocol'
|
|
6
|
+
|
|
7
|
+
import { AbstractXyoDataLake } from './AbstractXyoDataLake.ts'
|
|
8
|
+
|
|
9
|
+
export class ArchivistXyoDataLake extends AbstractXyoDataLake {
|
|
10
|
+
private _archivist: ReadWriteArchivist
|
|
11
|
+
|
|
12
|
+
constructor(archivist: ReadWriteArchivist) {
|
|
13
|
+
super()
|
|
14
|
+
this._archivist = archivist
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async add(items: DataLakeData[]): Promise<DataLakeData[]> {
|
|
18
|
+
const payloads = items.filter(isAnyPayload)
|
|
19
|
+
assertEx(payloads.length === items.length, () => 'Some items are not payloads')
|
|
20
|
+
return await this._archivist.insert(payloads)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async get(hashes: Hash[]): Promise<DataLakeData[]> {
|
|
24
|
+
return await this._archivist.get(hashes)
|
|
25
|
+
}
|
|
26
|
+
}
|