@interest-protocol/registry-sdk 1.0.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.
@@ -0,0 +1,38 @@
1
+ import { Transaction } from '@mysten/sui/transactions';
2
+ import { EvmAddress, SolanaPubkey, SuiAddress } from './addresses';
3
+ import type { GetAliasesArgs, GetEvmForSuiArgs, GetPrimaryArgs, GetSolanaForSuiArgs, GetSuiForEvmArgs, GetSuiForSolanaArgs, LinkAliasArgs, LinkEvmArgs, LinkSolanaArgs, RegistryConstructorArgs, UnlinkAliasArgs, UnlinkEvmArgs, UnlinkSolanaArgs } from './registry.types';
4
+ export declare class Registry {
5
+ #private;
6
+ constructor({ suiClient, packageId, registrySharedObjectData }: RegistryConstructorArgs);
7
+ linkSolana({ tx, solanaPubkey, signature }: LinkSolanaArgs): Transaction;
8
+ linkEvm({ tx, evmAddress, signature }: LinkEvmArgs): Transaction;
9
+ unlinkSolana({ tx, solanaPubkey }: UnlinkSolanaArgs): Transaction;
10
+ unlinkEvm({ tx, evmAddress }: UnlinkEvmArgs): Transaction;
11
+ linkAlias({ tx, aliasPubkey, signatureScheme, signature, }: LinkAliasArgs): Transaction;
12
+ unlinkAlias({ tx, alias }: UnlinkAliasArgs): Transaction;
13
+ getSuiForSolana({ solanaPubkey }: GetSuiForSolanaArgs): Promise<SuiAddress | null>;
14
+ getSuiForEvm({ evmAddress }: GetSuiForEvmArgs): Promise<SuiAddress | null>;
15
+ getSolanaForSui({ suiAddress }: GetSolanaForSuiArgs): Promise<SolanaPubkey[]>;
16
+ getEvmForSui({ suiAddress }: GetEvmForSuiArgs): Promise<EvmAddress[]>;
17
+ getAliases({ suiAddress }: GetAliasesArgs): Promise<SuiAddress[]>;
18
+ getPrimary({ address }: GetPrimaryArgs): Promise<SuiAddress>;
19
+ getEventTypes(): {
20
+ solanaLinked: string;
21
+ evmLinked: string;
22
+ solanaUnlinked: string;
23
+ evmUnlinked: string;
24
+ };
25
+ static createSolanaLinkMessage(suiAddress: string): Uint8Array;
26
+ static createEvmLinkMessage(suiAddress: string): Uint8Array;
27
+ immutableRegistryRef(tx: Transaction): {
28
+ $kind: "Input";
29
+ Input: number;
30
+ type?: "object";
31
+ };
32
+ mutableRegistryRef(tx: Transaction): {
33
+ $kind: "Input";
34
+ Input: number;
35
+ type?: "object";
36
+ };
37
+ }
38
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,KAAK,EACR,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,EACd,uBAAuB,EAEvB,eAAe,EACf,aAAa,EACb,gBAAgB,EACnB,MAAM,kBAAkB,CAAC;AAO1B,qBAAa,QAAQ;;gBAKL,EAAE,SAAS,EAAE,SAAS,EAAE,wBAAwB,EAAE,EAAE,uBAAuB;IAQvF,UAAU,CAAC,EAAE,EAAsB,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,cAAc,GAAG,WAAW;IAa5F,OAAO,CAAC,EAAE,EAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG,WAAW;IAepF,YAAY,CAAC,EAAE,EAAsB,EAAE,YAAY,EAAE,EAAE,gBAAgB,GAAG,WAAW;IAYrF,SAAS,CAAC,EAAE,EAAsB,EAAE,UAAU,EAAE,EAAE,aAAa,GAAG,WAAW;IAc7E,SAAS,CAAC,EACN,EAAsB,EACtB,WAAW,EACX,eAAe,EACf,SAAS,GACZ,EAAE,aAAa,GAAG,WAAW;IAc9B,WAAW,CAAC,EAAE,EAAsB,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,WAAW;IAWtE,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAwBlF,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAwB1E,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqB7E,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAqBrE,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAqBjE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBlE,aAAa;;;;;;IAWb,MAAM,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;IAQ9D,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU;IAU3D,oBAAoB,CAAC,EAAE,EAAE,WAAW;;;;;IAQpC,kBAAkB,CAAC,EAAE,EAAE,WAAW;;;;;CAOrC"}
@@ -0,0 +1,59 @@
1
+ import type { SuiClient } from '@mysten/sui/client';
2
+ import type { Transaction } from '@mysten/sui/transactions';
3
+ import type { EvmAddress, SolanaPubkey, SuiAddress } from './addresses';
4
+ export interface SharedObjectData {
5
+ objectId: string;
6
+ initialSharedVersion: string;
7
+ }
8
+ export interface RegistryConstructorArgs {
9
+ suiClient: SuiClient;
10
+ packageId?: string;
11
+ registrySharedObjectData: SharedObjectData;
12
+ }
13
+ export interface LinkSolanaArgs {
14
+ tx?: Transaction;
15
+ solanaPubkey: SolanaPubkey;
16
+ signature: Uint8Array;
17
+ }
18
+ export interface LinkEvmArgs {
19
+ tx?: Transaction;
20
+ evmAddress: EvmAddress;
21
+ signature: Uint8Array;
22
+ }
23
+ export interface UnlinkSolanaArgs {
24
+ tx?: Transaction;
25
+ solanaPubkey: SolanaPubkey;
26
+ }
27
+ export interface UnlinkEvmArgs {
28
+ tx?: Transaction;
29
+ evmAddress: EvmAddress;
30
+ }
31
+ export interface GetSuiForSolanaArgs {
32
+ solanaPubkey: SolanaPubkey;
33
+ }
34
+ export interface GetSuiForEvmArgs {
35
+ evmAddress: EvmAddress;
36
+ }
37
+ export interface GetSolanaForSuiArgs {
38
+ suiAddress: SuiAddress;
39
+ }
40
+ export interface GetEvmForSuiArgs {
41
+ suiAddress: SuiAddress;
42
+ }
43
+ export interface LinkAliasArgs {
44
+ tx?: Transaction;
45
+ aliasPubkey: Uint8Array;
46
+ signatureScheme: number;
47
+ signature: Uint8Array;
48
+ }
49
+ export interface UnlinkAliasArgs {
50
+ tx?: Transaction;
51
+ alias: string;
52
+ }
53
+ export interface GetAliasesArgs {
54
+ suiAddress: SuiAddress;
55
+ }
56
+ export interface GetPrimaryArgs {
57
+ address: string;
58
+ }
59
+ //# sourceMappingURL=registry.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.types.d.ts","sourceRoot":"","sources":["../src/registry.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB,EAAE,gBAAgB,CAAC;CAC9C;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAChC,YAAY,EAAE,YAAY,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,WAAW,EAAE,UAAU,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;CACnB"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@interest-protocol/registry-sdk",
3
+ "version": "1.0.0",
4
+ "description": "SDK for Lattice Registry on Sui",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "type": "module",
19
+ "scripts": {
20
+ "build": "rollup -c rollup.config.js && tsc --emitDeclarationOnly",
21
+ "test": "jest",
22
+ "lint": "biome check src",
23
+ "lint:fix": "biome check --write src",
24
+ "format": "biome format --write src"
25
+ },
26
+ "keywords": [
27
+ "sui",
28
+ "lattice",
29
+ "registry",
30
+ "cross-chain"
31
+ ],
32
+ "author": "Interest Protocol",
33
+ "license": "ISC",
34
+ "dependencies": {
35
+ "@mysten/sui": "^1.45.2",
36
+ "@polymedia/suitcase-core": "^0.0.67",
37
+ "bs58": "^6.0.0",
38
+ "tiny-invariant": "^1.3.3",
39
+ "viem": "^2.44.4",
40
+ "zod": "^4.3.5"
41
+ },
42
+ "devDependencies": {
43
+ "@biomejs/biome": "^2.3.11",
44
+ "@rollup/plugin-commonjs": "^28.0.3",
45
+ "@rollup/plugin-node-resolve": "^16.0.1",
46
+ "@rollup/plugin-typescript": "^12.1.2",
47
+ "@types/jest": "^29.5.14",
48
+ "@types/node": "^22.15.3",
49
+ "jest": "^29.7.0",
50
+ "rollup": "^4.40.2",
51
+ "ts-jest": "^29.3.2",
52
+ "tslib": "^2.8.1",
53
+ "typescript": "^5.8.3"
54
+ },
55
+ "publishConfig": {
56
+ "access": "public"
57
+ }
58
+ }