odin-connect 1.2.1 → 1.3.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/demo/package.json CHANGED
@@ -1,32 +1,32 @@
1
- {
2
- "name": "demo",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "dev": "vite",
8
- "build": "tsc -b && vite build",
9
- "lint": "eslint .",
10
- "preview": "vite preview"
11
- },
12
- "dependencies": {
13
- "@dfinity/identity": "^3.3.0",
14
- "odin-connect": "file:..",
15
- "react": "^19.1.1",
16
- "react-dom": "^19.1.1"
17
- },
18
- "devDependencies": {
19
- "@apimatic/json-bigint": "^1.2.0",
20
- "@eslint/js": "^9.33.0",
21
- "@types/react": "^19.1.10",
22
- "@types/react-dom": "^19.1.7",
23
- "@vitejs/plugin-react": "^5.0.0",
24
- "eslint": "^9.33.0",
25
- "eslint-plugin-react-hooks": "^5.2.0",
26
- "eslint-plugin-react-refresh": "^0.4.20",
27
- "globals": "^16.3.0",
28
- "typescript": "~5.8.3",
29
- "typescript-eslint": "^8.39.1",
30
- "vite": "^7.1.2"
31
- }
32
- }
1
+ {
2
+ "name": "demo",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc -b && vite build",
9
+ "lint": "eslint .",
10
+ "preview": "vite preview"
11
+ },
12
+ "dependencies": {
13
+ "@dfinity/identity": "^3.3.0",
14
+ "odin-connect": "file:..",
15
+ "react": "^19.1.1",
16
+ "react-dom": "^19.1.1"
17
+ },
18
+ "devDependencies": {
19
+ "@apimatic/json-bigint": "^1.2.0",
20
+ "@eslint/js": "^9.33.0",
21
+ "@types/react": "^19.1.10",
22
+ "@types/react-dom": "^19.1.7",
23
+ "@vitejs/plugin-react": "^5.0.0",
24
+ "eslint": "^9.33.0",
25
+ "eslint-plugin-react-hooks": "^5.2.0",
26
+ "eslint-plugin-react-refresh": "^0.4.20",
27
+ "globals": "^16.3.0",
28
+ "typescript": "~5.8.3",
29
+ "typescript-eslint": "^8.39.1",
30
+ "vite": "^7.1.2"
31
+ }
32
+ }
@@ -1,6 +1,6 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
2
- <rect width="100" height="100" fill="#0b0b0b" />
3
- <line x1="40" y1="20" x2="40" y2="80" stroke="#e0e0e0" stroke-width="6" stroke-linecap="round" />
4
- <line x1="40" y1="40" x2="70" y2="20" stroke="#e0e0e0" stroke-width="6" stroke-linecap="round" />
5
- <line x1="40" y1="60" x2="70" y2="40" stroke="#e0e0e0" stroke-width="6" stroke-linecap="round" />
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
2
+ <rect width="100" height="100" fill="#0b0b0b" />
3
+ <line x1="40" y1="20" x2="40" y2="80" stroke="#e0e0e0" stroke-width="6" stroke-linecap="round" />
4
+ <line x1="40" y1="40" x2="70" y2="20" stroke="#e0e0e0" stroke-width="6" stroke-linecap="round" />
5
+ <line x1="40" y1="60" x2="70" y2="40" stroke="#e0e0e0" stroke-width="6" stroke-linecap="round" />
6
6
  </svg>
@@ -1,27 +1,27 @@
1
- {
2
- "compilerOptions": {
3
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
- "target": "ES2022",
5
- "useDefineForClassFields": true,
6
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
7
- "module": "ESNext",
8
- "skipLibCheck": true,
9
-
10
- /* Bundler mode */
11
- "moduleResolution": "bundler",
12
- "allowImportingTsExtensions": true,
13
- "verbatimModuleSyntax": true,
14
- "moduleDetection": "force",
15
- "noEmit": true,
16
- "jsx": "react-jsx",
17
-
18
- /* Linting */
19
- "strict": true,
20
- "noUnusedLocals": true,
21
- "noUnusedParameters": true,
22
- "erasableSyntaxOnly": true,
23
- "noFallthroughCasesInSwitch": true,
24
- "noUncheckedSideEffectImports": true
25
- },
26
- "include": ["src"]
27
- }
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
+ "target": "ES2022",
5
+ "useDefineForClassFields": true,
6
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
7
+ "module": "ESNext",
8
+ "skipLibCheck": true,
9
+
10
+ /* Bundler mode */
11
+ "moduleResolution": "bundler",
12
+ "allowImportingTsExtensions": true,
13
+ "verbatimModuleSyntax": true,
14
+ "moduleDetection": "force",
15
+ "noEmit": true,
16
+ "jsx": "react-jsx",
17
+
18
+ /* Linting */
19
+ "strict": true,
20
+ "noUnusedLocals": true,
21
+ "noUnusedParameters": true,
22
+ "erasableSyntaxOnly": true,
23
+ "noFallthroughCasesInSwitch": true,
24
+ "noUncheckedSideEffectImports": true
25
+ },
26
+ "include": ["src"]
27
+ }
@@ -1,25 +1,25 @@
1
- {
2
- "compilerOptions": {
3
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
- "target": "ES2023",
5
- "lib": ["ES2023"],
6
- "module": "ESNext",
7
- "skipLibCheck": true,
8
-
9
- /* Bundler mode */
10
- "moduleResolution": "bundler",
11
- "allowImportingTsExtensions": true,
12
- "verbatimModuleSyntax": true,
13
- "moduleDetection": "force",
14
- "noEmit": true,
15
-
16
- /* Linting */
17
- "strict": true,
18
- "noUnusedLocals": true,
19
- "noUnusedParameters": true,
20
- "erasableSyntaxOnly": true,
21
- "noFallthroughCasesInSwitch": true,
22
- "noUncheckedSideEffectImports": true
23
- },
24
- "include": ["vite.config.ts"]
25
- }
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
+ "target": "ES2023",
5
+ "lib": ["ES2023"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+
9
+ /* Bundler mode */
10
+ "moduleResolution": "bundler",
11
+ "allowImportingTsExtensions": true,
12
+ "verbatimModuleSyntax": true,
13
+ "moduleDetection": "force",
14
+ "noEmit": true,
15
+
16
+ /* Linting */
17
+ "strict": true,
18
+ "noUnusedLocals": true,
19
+ "noUnusedParameters": true,
20
+ "erasableSyntaxOnly": true,
21
+ "noFallthroughCasesInSwitch": true,
22
+ "noUncheckedSideEffectImports": true
23
+ },
24
+ "include": ["vite.config.ts"]
25
+ }
@@ -1,7 +1,7 @@
1
- import { defineConfig } from 'vite'
2
- import react from '@vitejs/plugin-react'
3
-
4
- // https://vite.dev/config/
5
- export default defineConfig({
6
- plugins: [react()],
7
- })
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+
4
+ // https://vite.dev/config/
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ })
@@ -33,6 +33,12 @@ export interface SwapOptions {
33
33
  toToken: string;
34
34
  fromAmount: bigint;
35
35
  }
36
+ export interface IcrcApproveOptions {
37
+ principal: string;
38
+ token: string;
39
+ spender: string;
40
+ amount: bigint;
41
+ }
36
42
  export interface CreateTokenParams {
37
43
  principal: string;
38
44
  name: string;
@@ -60,6 +66,7 @@ export declare class OdinCanisterClient {
60
66
  addLiquidity({ principal, btcAmount, token }: AddLiquidityOptions): Promise<boolean>;
61
67
  removeLiquidity({ principal, lpAmount, token }: RemoveLiquidityOptions): Promise<boolean>;
62
68
  swap({ principal, fromToken: from, toToken: to, fromAmount }: SwapOptions): Promise<boolean>;
69
+ icrcApprove({ principal, token, spender, amount }: IcrcApproveOptions): Promise<boolean>;
63
70
  createToken({ image, ...params }: CreateTokenParams): Promise<boolean>;
64
71
  }
65
72
  //# sourceMappingURL=canister.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canister.d.ts","sourceRoot":"","sources":["../../src/services/canister.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAW,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,IAAI,CAAgB;IAC5B,MAAM,EAAE,MAAM,CAAC;gBAGb,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM;IAQhB,IAAI,OAAO,mBAEV;IAED,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,UAAU;IAuDlB,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,WAAW;IAiBnD,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,UAAU;IAiB/C,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,eAAe;IAkBnE,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,mBAAmB;IAiBjE,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,sBAAsB;IAiBtE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,WAAW;IAkBnE,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,iBAAiB;CAyC1D"}
1
+ {"version":3,"file":"canister.d.ts","sourceRoot":"","sources":["../../src/services/canister.ts"],"names":[],"mappings":"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"}
@@ -151,6 +151,23 @@ export class OdinCanisterClient {
151
151
  },
152
152
  });
153
153
  }
154
+ icrcApprove({ principal, token, spender, amount }) {
155
+ return this.baseAction({
156
+ params: {
157
+ principal,
158
+ token,
159
+ spender,
160
+ amount: amount.toString(),
161
+ },
162
+ odinPath: "authorize/icrc_approve",
163
+ receivedMessageFromOrigin: "approved",
164
+ resolve: {
165
+ success: () => true,
166
+ failure: "ICRC approve failed or was cancelled",
167
+ close: "User closed the window",
168
+ },
169
+ });
170
+ }
154
171
  async createToken({ image, ...params }) {
155
172
  // check if token field param validators exist and run them
156
173
  for (const key in createTokenValidators) {
@@ -1,6 +1,6 @@
1
1
  import { DelegationIdentity } from "@dfinity/identity";
2
2
  import { OdinApiClient } from "./api";
3
- import { AddLiquidityOptions, BuyOptions, CreateTokenParams, OdinCanisterClient, RemoveLiquidityOptions, SellOptions, SwapOptions, TransferOptions } from "./canister";
3
+ import { AddLiquidityOptions, BuyOptions, CreateTokenParams, IcrcApproveOptions, OdinCanisterClient, RemoveLiquidityOptions, SellOptions, SwapOptions, TransferOptions } from "./canister";
4
4
  export declare class ConnectedUser {
5
5
  private _identity;
6
6
  private _api;
@@ -67,6 +67,7 @@ export declare class ConnectedUser {
67
67
  removeLiquidity(params: Omit<RemoveLiquidityOptions, "principal">): Promise<boolean>;
68
68
  transfer(params: Omit<TransferOptions, "principal">): Promise<boolean>;
69
69
  createToken(params: Omit<CreateTokenParams, "principal">): Promise<boolean>;
70
+ icrcApprove(params: Omit<IcrcApproveOptions, "principal">): Promise<boolean>;
70
71
  swap(params: Omit<SwapOptions, "principal">): Promise<boolean>;
71
72
  }
72
73
  //# sourceMappingURL=connected-user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connected-user.d.ts","sourceRoot":"","sources":["../../src/services/connected-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAqB;gBAGhC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EACnC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,kBAAkB;IAQ1B,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,EAE9B;IAED,WAAW,IAAI,kBAAkB,GAAG,IAAI;IAIxC,OAAO;IAIP,WAAW,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAIvD,SAAS,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;IAIrD,gBAAgB,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAI5D,WAAW,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAIvD,YAAY,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;IAIxD,eAAe,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAI3D,eAAe,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAI3D,QAAQ;;;;IAMR,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;IAO3C,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;IAOzC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAO3D,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC;IAOjE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;IAOnD,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAOxD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;CAM5C"}
1
+ {"version":3,"file":"connected-user.d.ts","sourceRoot":"","sources":["../../src/services/connected-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAqB;gBAGhC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EACnC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,kBAAkB;IAQ1B,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,EAE9B;IAED,WAAW,IAAI,kBAAkB,GAAG,IAAI;IAIxC,OAAO;IAIP,WAAW,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAIvD,SAAS,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;IAIrD,gBAAgB,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAI5D,WAAW,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAIvD,YAAY,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;IAIxD,eAAe,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAI3D,eAAe,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAI3D,QAAQ;;;;IAMR,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;IAO3C,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;IAOzC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAO3D,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC;IAOjE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;IAOnD,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAOxD,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC;IAOzD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;CAM5C"}
@@ -82,6 +82,12 @@ export class ConnectedUser {
82
82
  principal: this.principal,
83
83
  });
84
84
  }
85
+ icrcApprove(params) {
86
+ return this._odin.icrcApprove({
87
+ ...params,
88
+ principal: this.principal,
89
+ });
90
+ }
85
91
  swap(params) {
86
92
  return this._odin.swap({
87
93
  ...params,
package/package.json CHANGED
@@ -1,51 +1,51 @@
1
- {
2
- "name": "odin-connect",
3
- "version": "1.2.1",
4
- "description": "",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "scripts": {
8
- "build": "tsc",
9
- "prepublishOnly": "npm run build",
10
- "test": "vitest",
11
- "demo:update": "npm run build && cd demo && npm install ../ && cd ..",
12
- "demo:start": "cd demo && npm run dev",
13
- "demo:build": "npm run demo:update && cd demo && npm run build",
14
- "demo": "npm run demo:update && npm run demo:start",
15
- "release": "release-it"
16
- },
17
- "repository": {
18
- "type": "git",
19
- "url": "git+https://github.com/Toniq-Labs/odin-connect.git"
20
- },
21
- "keywords": [],
22
- "author": "",
23
- "license": "ISC",
24
- "type": "module",
25
- "bugs": {
26
- "url": "https://github.com/Toniq-Labs/odin-connect/issues"
27
- },
28
- "homepage": "https://github.com/Toniq-Labs/odin-connect#readme",
29
- "devDependencies": {
30
- "@types/node": "^24.3.1",
31
- "@vitest/ui": "^3.2.4",
32
- "jsdom": "^27.0.0",
33
- "release-it": "^19.0.5",
34
- "typescript": "^5.9.2",
35
- "vitest": "^3.2.4"
36
- },
37
- "dependencies": {
38
- "@apimatic/json-bigint": "^1.2.0",
39
- "@dfinity/identity": "^3.3.0",
40
- "axios": "^1.12.0"
41
- },
42
- "release-it": {
43
- "npm": {
44
- "publish": true
45
- },
46
- "git": {
47
- "commitMessage": "chore: release v${version}",
48
- "tagName": "v${version}"
49
- }
50
- }
51
- }
1
+ {
2
+ "name": "odin-connect",
3
+ "version": "1.3.0",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "prepublishOnly": "npm run build",
10
+ "test": "vitest",
11
+ "demo:update": "npm run build && cd demo && npm install ../ && cd ..",
12
+ "demo:start": "cd demo && npm run dev",
13
+ "demo:build": "npm run demo:update && cd demo && npm run build",
14
+ "demo": "npm run demo:update && npm run demo:start",
15
+ "release": "release-it"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/Toniq-Labs/odin-connect.git"
20
+ },
21
+ "keywords": [],
22
+ "author": "",
23
+ "license": "ISC",
24
+ "type": "module",
25
+ "bugs": {
26
+ "url": "https://github.com/Toniq-Labs/odin-connect/issues"
27
+ },
28
+ "homepage": "https://github.com/Toniq-Labs/odin-connect#readme",
29
+ "devDependencies": {
30
+ "@types/node": "^24.3.1",
31
+ "@vitest/ui": "^3.2.4",
32
+ "jsdom": "^27.0.0",
33
+ "release-it": "^19.0.5",
34
+ "typescript": "^5.9.2",
35
+ "vitest": "^3.2.4"
36
+ },
37
+ "dependencies": {
38
+ "@apimatic/json-bigint": "^1.2.0",
39
+ "@dfinity/identity": "^3.3.0",
40
+ "axios": "^1.12.0"
41
+ },
42
+ "release-it": {
43
+ "npm": {
44
+ "publish": true
45
+ },
46
+ "git": {
47
+ "commitMessage": "chore: release v${version}",
48
+ "tagName": "v${version}"
49
+ }
50
+ }
51
+ }