schemos 0.1.0 → 0.1.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.
@@ -38,4 +38,13 @@ test('CosmWasmQueryClient is assignable from execute client', () => {
38
38
  const queryClient = execClient;
39
39
  assertType(queryClient);
40
40
  });
41
+ // ---------------------------------------------------------------------------
42
+ // cosmjs compatibility: verify structural assignability
43
+ // ---------------------------------------------------------------------------
44
+ test('cosmjs SigningCosmWasmClient is assignable to CosmWasmExecuteClient', () => {
45
+ expectTypeOf().toMatchTypeOf();
46
+ });
47
+ test('cosmjs CosmWasmClient is assignable to CosmWasmQueryClient', () => {
48
+ expectTypeOf().toMatchTypeOf();
49
+ });
41
50
  //# sourceMappingURL=client.test-d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.test-d.js","sourceRoot":"","sources":["../src/client.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAIvD,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,YAAY,EAAyB,CAAC,QAAQ,EAAuB,CAAA;AACvE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAC5D,YAAY,EAA6C,CAAC,YAAY,EAAE,CAAA;IACxE,YAAY,EAET,CAAC,UAAU,CAAC,aAAa,EAEzB,CAAA;IACH,YAAY,EAET,CAAC,OAAO,CAAC,aAAa,EAAoB,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACnD,YAAY,EAAoC,CAAC,YAAY,EAAE,CAAA;IAE/D,+CAA+C;IAC/C,MAAM,UAAU,GAA0B;QACxC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAA;IAED,MAAM,GAAG,GAAW;QAClB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3C,GAAG,EAAE,QAAQ;KACd,CAAA;IACD,MAAM,KAAK,GAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAEnE,cAAc;IACd,UAAU,CACR,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAChE,CAAA;IACD,UAAU,CACR,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CACnE,CAAA;IACD,UAAU,CACR,UAAU,CAAC,OAAO,CAChB,QAAQ,EACR,UAAU,EACV,EAAE,QAAQ,EAAE,EAAE,EAAE,EAChB,GAAG,EACH,MAAM,EACN,KAAK,CACN,CACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;IAIxE,YAAY,EAAqB,CAAC,OAAO,CAAC,aAAa,EAEpD,CAAA;IACH,iEAAiE;IACjE,YAAY,EAAgC,CAAC,OAAO,CAAC,aAAa,EAE/D,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACjE,yEAAyE;IACzE,MAAM,UAAU,GAA0B;QACxC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAA;IACD,MAAM,WAAW,GAAwB,UAAU,CAAA;IACnD,UAAU,CAAsB,WAAW,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"client.test-d.js","sourceRoot":"","sources":["../src/client.test-d.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAIvD,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,YAAY,EAAyB,CAAC,QAAQ,EAAuB,CAAA;AACvE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAC5D,YAAY,EAA6C,CAAC,YAAY,EAAE,CAAA;IACxE,YAAY,EAET,CAAC,UAAU,CAAC,aAAa,EAEzB,CAAA;IACH,YAAY,EAET,CAAC,OAAO,CAAC,aAAa,EAAoB,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACnD,YAAY,EAAoC,CAAC,YAAY,EAAE,CAAA;IAE/D,+CAA+C;IAC/C,MAAM,UAAU,GAA0B;QACxC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAA;IAED,MAAM,GAAG,GAAW;QAClB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3C,GAAG,EAAE,QAAQ;KACd,CAAA;IACD,MAAM,KAAK,GAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAEnE,cAAc;IACd,UAAU,CACR,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAChE,CAAA;IACD,UAAU,CACR,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CACnE,CAAA;IACD,UAAU,CACR,UAAU,CAAC,OAAO,CAChB,QAAQ,EACR,UAAU,EACV,EAAE,QAAQ,EAAE,EAAE,EAAE,EAChB,GAAG,EACH,MAAM,EACN,KAAK,CACN,CACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;IAIxE,YAAY,EAAqB,CAAC,OAAO,CAAC,aAAa,EAEpD,CAAA;IACH,iEAAiE;IACjE,YAAY,EAAgC,CAAC,OAAO,CAAC,aAAa,EAE/D,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACjE,yEAAyE;IACzE,MAAM,UAAU,GAA0B;QACxC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAA;IACD,MAAM,WAAW,GAAwB,UAAU,CAAA;IACnD,UAAU,CAAsB,WAAW,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAC9E,wDAAwD;AACxD,8EAA8E;AAC9E,IAAI,CAAC,qEAAqE,EAAE,GAAG,EAAE;IAC/E,YAAY,EAAyB,CAAC,aAAa,EAAyB,CAAA;AAC9E,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;IACtE,YAAY,EAAkB,CAAC,aAAa,EAAuB,CAAA;AACrE,CAAC,CAAC,CAAA"}
@@ -41,7 +41,11 @@
41
41
  * @module
42
42
  */
43
43
  import type { CosmWasmExecuteClient, CosmWasmQueryClient } from './client.js';
44
- import type { Coin, StdFee } from './types.js';
44
+ import type { Coin } from './types.js';
45
+ interface InterchainStdFee {
46
+ amount: Coin[];
47
+ gas: string;
48
+ }
45
49
  /**
46
50
  * RPC query function for CosmWasm smart contract state.
47
51
  *
@@ -63,7 +67,7 @@ export type SmartContractStateFn = (params: {
63
67
  export type SignAndBroadcastFn<TResult = unknown> = (sender: string, messages: readonly {
64
68
  typeUrl: string;
65
69
  value: Uint8Array;
66
- }[], fee: StdFee | 'auto', memo?: string) => Promise<TResult>;
70
+ }[], fee: InterchainStdFee | 'auto', memo?: string) => Promise<TResult>;
67
71
  /**
68
72
  * Encodes contract execution parameters to MsgExecuteContract protobuf bytes.
69
73
  *
@@ -132,4 +136,5 @@ export declare function createQueryAdapter(smartContractState: SmartContractStat
132
136
  * ```
133
137
  */
134
138
  export declare function createExecuteAdapter<TExecuteResult>(smartContractState: SmartContractStateFn, signAndBroadcast: SignAndBroadcastFn<TExecuteResult>, encodeMsgExecuteContract: EncodeMsgExecuteContractFn): CosmWasmExecuteClient<TExecuteResult>;
139
+ export {};
135
140
  //# sourceMappingURL=telescope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telescope.d.ts","sourceRoot":"","sources":["../src/telescope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,UAAU,CAAA;CACtB,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,GAAG,OAAO,IAAI,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,EAC3D,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,IAAI,CAAC,EAAE,MAAM,KACV,OAAO,CAAC,OAAO,CAAC,CAAA;AAErB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,UAAU,CAAA;IACf,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CACvB,KAAK,UAAU,CAAA;AAKhB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,oBAAoB,GACvC,mBAAmB,CAQrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EACjD,kBAAkB,EAAE,oBAAoB,EACxC,gBAAgB,EAAE,kBAAkB,CAAC,cAAc,CAAC,EACpD,wBAAwB,EAAE,0BAA0B,GACnD,qBAAqB,CAAC,cAAc,CAAC,CAkCvC"}
1
+ {"version":3,"file":"telescope.d.ts","sourceRoot":"","sources":["../src/telescope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAGtC,UAAU,gBAAgB;IACxB,MAAM,EAAE,IAAI,EAAE,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,UAAU,CAAA;CACtB,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,GAAG,OAAO,IAAI,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,EAAE,EAC3D,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAC9B,IAAI,CAAC,EAAE,MAAM,KACV,OAAO,CAAC,OAAO,CAAC,CAAA;AAErB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,UAAU,CAAA;IACf,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CACvB,KAAK,UAAU,CAAA;AAKhB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,oBAAoB,GACvC,mBAAmB,CAQrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EACjD,kBAAkB,EAAE,oBAAoB,EACxC,gBAAgB,EAAE,kBAAkB,CAAC,cAAc,CAAC,EACpD,wBAAwB,EAAE,0BAA0B,GACnD,qBAAqB,CAAC,cAAc,CAAC,CAkCvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"telescope.js","sourceRoot":"","sources":["../src/telescope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAoDH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,kBAAkB,CAChC,kBAAwC;IAExC,OAAO;QACL,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,KAA8B;YACtE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;YACvD,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB,CAClC,kBAAwC,EACxC,gBAAoD,EACpD,wBAAoD;IAEpD,MAAM,YAAY,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAA;IAE3D,OAAO;QACL,GAAG,YAAY;QACf,KAAK,CAAC,OAAO,CACX,MAAc,EACd,OAAe,EACf,GAA4B,EAC5B,GAAoB,EACpB,IAAa,EACb,KAAuB;YAEvB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;YACpD,MAAM,KAAK,GAAG,wBAAwB,CAAC;gBACrC,MAAM;gBACN,QAAQ,EAAE,OAAO;gBACjB,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,KAAK,IAAI,EAAE;aACnB,CAAC,CAAA;YAEF,OAAO,gBAAgB,CACrB,MAAM,EACN;gBACE;oBACE,OAAO,EAAE,sCAAsC;oBAC/C,KAAK;iBACN;aACF,EACD,GAAG,EACH,IAAI,CACL,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"telescope.js","sourceRoot":"","sources":["../src/telescope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AA0DH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,kBAAkB,CAChC,kBAAwC;IAExC,OAAO;QACL,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,KAA8B;YACtE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;YACvD,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB,CAClC,kBAAwC,EACxC,gBAAoD,EACpD,wBAAoD;IAEpD,MAAM,YAAY,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAA;IAE3D,OAAO;QACL,GAAG,YAAY;QACf,KAAK,CAAC,OAAO,CACX,MAAc,EACd,OAAe,EACf,GAA4B,EAC5B,GAA8B,EAC9B,IAAa,EACb,KAAuB;YAEvB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;YACpD,MAAM,KAAK,GAAG,wBAAwB,CAAC;gBACrC,MAAM;gBACN,QAAQ,EAAE,OAAO;gBACjB,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,KAAK,IAAI,EAAE;aACnB,CAAC,CAAA;YAEF,OAAO,gBAAgB,CACrB,MAAM,EACN;gBACE;oBACE,OAAO,EAAE,sCAAsC;oBAC/C,KAAK;iBACN;aACF,EACD,GAAG,EACH,IAAI,CACL,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -3,7 +3,7 @@ export interface Coin {
3
3
  readonly amount: string;
4
4
  }
5
5
  export interface StdFee {
6
- readonly amount: readonly Coin[];
7
- readonly gas: string;
6
+ amount: readonly Coin[];
7
+ gas: string;
8
8
  }
9
9
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAA;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,SAAS,IAAI,EAAE,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;CACZ"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Wallet kit type compatibility tests.
3
+ *
4
+ * Verifies that popular Cosmos wallet libraries produce client types
5
+ * compatible with schemos's interfaces. Serves as documentation-by-test:
6
+ * upstream type changes that break compatibility will fail here first.
7
+ *
8
+ * - cosmos-kit: covered in client.test-d.ts (SigningCosmWasmClient ↔ CosmWasmExecuteClient)
9
+ * - graz: multi-chain Record<string, T | null> — requires extraction + null-check
10
+ * - interchain-kit: DirectSigner | AminoSigner — requires telescope adapter
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=wallet-compat.test-d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-compat.test-d.d.ts","sourceRoot":"","sources":["../src/wallet-compat.test-d.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Wallet kit type compatibility tests.
3
+ *
4
+ * Verifies that popular Cosmos wallet libraries produce client types
5
+ * compatible with schemos's interfaces. Serves as documentation-by-test:
6
+ * upstream type changes that break compatibility will fail here first.
7
+ *
8
+ * - cosmos-kit: covered in client.test-d.ts (SigningCosmWasmClient ↔ CosmWasmExecuteClient)
9
+ * - graz: multi-chain Record<string, T | null> — requires extraction + null-check
10
+ * - interchain-kit: DirectSigner | AminoSigner — requires telescope adapter
11
+ */
12
+ import { expectTypeOf, test } from 'vitest';
13
+ test('graz: SigningCosmWasmClient | null is NOT assignable without null-check', () => {
14
+ // @ts-expect-error — null is not assignable to CosmWasmExecuteClient
15
+ expectTypeOf().toMatchTypeOf();
16
+ });
17
+ test('graz: after null-check, SigningCosmWasmClient is assignable', () => {
18
+ expectTypeOf().toMatchTypeOf();
19
+ });
20
+ test('graz: raw Record is NOT assignable (it is a map, not a client)', () => {
21
+ // @ts-expect-error — Record<string, T | null> is not a client
22
+ expectTypeOf().toMatchTypeOf();
23
+ });
24
+ // ---------------------------------------------------------------------------
25
+ // interchain-kit: useChain().signingClient → SigningClient | null
26
+ // SigningClient = DirectSigner | AminoSigner (interchainjs)
27
+ // ---------------------------------------------------------------------------
28
+ test('interchain-kit: SigningClient | null is NOT assignable without null-check', () => {
29
+ // @ts-expect-error — null is not assignable to CosmWasmExecuteClient
30
+ expectTypeOf().toMatchTypeOf();
31
+ });
32
+ test('interchain-kit: non-null SigningClient is NOT assignable to CosmWasmExecuteClient', () => {
33
+ // @ts-expect-error — interchainjs signer has different interface than cosmjs
34
+ expectTypeOf().toMatchTypeOf();
35
+ });
36
+ test('interchain-kit: non-null SigningClient is NOT assignable to CosmWasmQueryClient', () => {
37
+ // @ts-expect-error — no queryContractSmart in cosmjs shape
38
+ expectTypeOf().toMatchTypeOf();
39
+ });
40
+ // ---------------------------------------------------------------------------
41
+ // telescope adapter: the escape hatch for non-cosmjs clients
42
+ // ---------------------------------------------------------------------------
43
+ test('telescope: createQueryAdapter returns CosmWasmQueryClient', () => {
44
+ expectTypeOf().toMatchTypeOf();
45
+ });
46
+ test('telescope: createExecuteAdapter returns CosmWasmExecuteClient', () => {
47
+ expectTypeOf().toMatchTypeOf();
48
+ });
49
+ // ---------------------------------------------------------------------------
50
+ // interchain-kit + telescope adapter integration
51
+ // ---------------------------------------------------------------------------
52
+ test('interchain-kit: adapter + createTypedContract compiles', () => {
53
+ expectTypeOf().toMatchTypeOf();
54
+ // This proves createTypedContract(adapter, addr, schema) will compile
55
+ });
56
+ // ---------------------------------------------------------------------------
57
+ // StdFee compatibility
58
+ // ---------------------------------------------------------------------------
59
+ test('schemos StdFee.amount accepts readonly Coin[]', () => {
60
+ expectTypeOf().toMatchTypeOf();
61
+ });
62
+ test('cosmjs StdFee is assignable to schemos StdFee', () => {
63
+ expectTypeOf().toMatchTypeOf();
64
+ });
65
+ test('interchainjs StdFee is assignable to schemos StdFee', () => {
66
+ expectTypeOf().toExtend();
67
+ });
68
+ test('interchain-kit: signingClient.signAndBroadcast is assignable to SignAndBroadcastFn', () => {
69
+ // interchainjs StdFee uses mutable Coin[] while cosmjs uses readonly Coin[].
70
+ // SignAndBroadcastFn accepts InterchainStdFee (mutable) so that
71
+ // signingClient.signAndBroadcast can be passed directly to createExecuteAdapter.
72
+ expectTypeOf().toExtend();
73
+ });
74
+ //# sourceMappingURL=wallet-compat.test-d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-compat.test-d.js","sourceRoot":"","sources":["../src/wallet-compat.test-d.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAc3C,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;IAEnF,qEAAqE;IACrE,YAAY,EAAgB,CAAC,aAAa,EAAyB,CAAA;AACrE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;IAEvE,YAAY,EAAU,CAAC,aAAa,EAAyB,CAAA;AAC/D,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC1E,8DAA8D;IAC9D,YAAY,EAAkB,CAAC,aAAa,EAAyB,CAAA;AACvE,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAC9E,kEAAkE;AAClE,4DAA4D;AAC5D,8EAA8E;AAE9E,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;IAErF,qEAAqE;IACrE,YAAY,EAAgB,CAAC,aAAa,EAAyB,CAAA;AACrE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,mFAAmF,EAAE,GAAG,EAAE;IAI7F,6EAA6E;IAC7E,YAAY,EAAU,CAAC,aAAa,EAAyB,CAAA;AAC/D,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,iFAAiF,EAAE,GAAG,EAAE;IAE3F,2DAA2D;IAC3D,YAAY,EAAU,CAAC,aAAa,EAAuB,CAAA;AAC7D,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;IAErE,YAAY,EAAiB,CAAC,aAAa,EAAuB,CAAA;AACpE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;IAEzE,YAAY,EAAiB,CAAC,aAAa,EAAyB,CAAA;AACtE,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;IAMlE,YAAY,EAAiB,CAAC,aAAa,EAAyB,CAAA;IACpE,sEAAsE;AACxE,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAGzD,YAAY,EAAc,CAAC,aAAa,EAErC,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAGzD,YAAY,EAAgB,CAAC,aAAa,EAAiB,CAAA;AAC7D,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAI/D,YAAY,EAAoB,CAAC,QAAQ,EAAiB,CAAA;AAC5D,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,oFAAoF,EAAE,GAAG,EAAE;IAK9F,6EAA6E;IAC7E,gEAAgE;IAChE,iFAAiF;IACjF,YAAY,EAA8B,CAAC,QAAQ,EAAsB,CAAA;AAC3E,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "schemos",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "description": "Type-safe CosmWasm contract interactions, zero codegen",
6
6
  "license": "MIT",
@@ -41,14 +41,19 @@
41
41
  },
42
42
  "devDependencies": {
43
43
  "@ark/attest": "^0.56.0",
44
+ "@cosmjs/amino": "^0.38.1",
44
45
  "@cosmjs/cosmwasm-stargate": "^0.38.1",
45
46
  "@cosmjs/proto-signing": "^0.38.1",
46
47
  "@cosmjs/stargate": "^0.38.1",
48
+ "@cosmos-kit/core": "^2.18.1",
49
+ "@interchain-kit/react": "^0.10.1",
47
50
  "@interchainjs/cosmos": "^1.21.0",
48
51
  "@interchainjs/cosmos-types": "^1.21.0",
52
+ "@interchainjs/types": "^1.21.0",
49
53
  "@types/node": "^24.0.0",
50
54
  "@xpla/xplajs": "1.7.0",
51
55
  "cosmock": "^0.2.0",
56
+ "graz": "^0.4.2",
52
57
  "interchainjs": "^1.21.0",
53
58
  "json-schema-to-ts": "^3.1.1",
54
59
  "osmojs": "16.15.0",