@ar.io/sdk 3.10.0-alpha.4 → 3.10.0-alpha.6

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.
Files changed (60) hide show
  1. package/bundles/web.bundle.min.js +63 -63
  2. package/lib/cjs/common/index.js +2 -0
  3. package/lib/cjs/common/wayfinder/gateways.js +75 -0
  4. package/lib/cjs/common/wayfinder/index.js +36 -0
  5. package/lib/cjs/common/wayfinder/routers/fixed.js +14 -0
  6. package/lib/cjs/common/wayfinder/routers/fixed.test.js +14 -0
  7. package/lib/cjs/common/wayfinder/routers/priority.js +38 -0
  8. package/lib/cjs/common/wayfinder/routers/priority.test.js +155 -0
  9. package/lib/cjs/common/wayfinder/routers/random.js +23 -0
  10. package/lib/cjs/common/wayfinder/routers/random.test.js +104 -0
  11. package/lib/cjs/common/wayfinder/routers/simple-cache.js +25 -0
  12. package/lib/cjs/common/wayfinder/routers/simple-cache.test.js +41 -0
  13. package/lib/cjs/common/wayfinder/wayfinder.js +194 -0
  14. package/lib/cjs/common/wayfinder/wayfinder.test.js +254 -0
  15. package/lib/cjs/types/ant.js +12 -1
  16. package/lib/cjs/types/index.js +1 -0
  17. package/lib/cjs/types/wayfinder.js +2 -0
  18. package/lib/cjs/utils/ao.js +5 -0
  19. package/lib/cjs/version.js +1 -1
  20. package/lib/esm/common/index.js +2 -0
  21. package/lib/esm/common/wayfinder/gateways.js +69 -0
  22. package/lib/esm/common/wayfinder/index.js +20 -0
  23. package/lib/esm/common/wayfinder/routers/fixed.js +10 -0
  24. package/lib/esm/common/wayfinder/routers/fixed.test.js +12 -0
  25. package/lib/esm/common/wayfinder/routers/priority.js +34 -0
  26. package/lib/esm/common/wayfinder/routers/priority.test.js +153 -0
  27. package/lib/esm/common/wayfinder/routers/random.js +19 -0
  28. package/lib/esm/common/wayfinder/routers/random.test.js +102 -0
  29. package/lib/esm/common/wayfinder/routers/simple-cache.js +21 -0
  30. package/lib/esm/common/wayfinder/routers/simple-cache.test.js +39 -0
  31. package/lib/esm/common/wayfinder/wayfinder.js +187 -0
  32. package/lib/esm/common/wayfinder/wayfinder.test.js +249 -0
  33. package/lib/esm/types/ant.js +11 -0
  34. package/lib/esm/types/index.js +1 -0
  35. package/lib/esm/types/wayfinder.js +1 -0
  36. package/lib/esm/utils/ao.js +5 -0
  37. package/lib/esm/version.js +1 -1
  38. package/lib/types/common/index.d.ts +1 -0
  39. package/lib/types/common/io.d.ts +0 -1
  40. package/lib/types/common/wayfinder/gateways.d.ts +44 -0
  41. package/lib/types/common/wayfinder/index.d.ts +19 -0
  42. package/lib/types/common/wayfinder/routers/fixed.d.ts +25 -0
  43. package/lib/types/common/wayfinder/routers/fixed.test.d.ts +1 -0
  44. package/lib/types/common/wayfinder/routers/priority.d.ts +34 -0
  45. package/lib/types/common/wayfinder/routers/priority.test.d.ts +1 -0
  46. package/lib/types/common/wayfinder/routers/random.d.ts +28 -0
  47. package/lib/types/common/wayfinder/routers/random.test.d.ts +1 -0
  48. package/lib/types/common/wayfinder/routers/simple-cache.d.ts +29 -0
  49. package/lib/types/common/wayfinder/routers/simple-cache.test.d.ts +1 -0
  50. package/lib/types/common/wayfinder/wayfinder.d.ts +106 -0
  51. package/lib/types/common/wayfinder/wayfinder.test.d.ts +1 -0
  52. package/lib/types/types/ant.d.ts +53 -1
  53. package/lib/types/types/index.d.ts +1 -0
  54. package/lib/types/types/io.d.ts +1 -0
  55. package/lib/types/types/token.d.ts +1 -0
  56. package/lib/types/types/wayfinder.d.ts +20 -0
  57. package/lib/types/utils/ao.d.ts +1 -12
  58. package/lib/types/utils/base64.d.ts +1 -0
  59. package/lib/types/version.d.ts +1 -1
  60. package/package.json +4 -3
@@ -127,11 +127,63 @@ export declare const AntStateSchema: z.ZodObject<{
127
127
  Initialized: boolean;
128
128
  }>;
129
129
  export type AoANTState = z.infer<typeof AntStateSchema>;
130
+ export declare const SpawnANTStateSchema: z.ZodObject<{
131
+ name: z.ZodString;
132
+ ticker: z.ZodString;
133
+ description: z.ZodString;
134
+ keywords: z.ZodArray<z.ZodString, "many">;
135
+ owner: z.ZodString;
136
+ controllers: z.ZodArray<z.ZodString, "many">;
137
+ records: z.ZodRecord<z.ZodString, z.ZodObject<{
138
+ transactionId: z.ZodEffects<z.ZodString, string, string>;
139
+ ttlSeconds: z.ZodNumber;
140
+ priority: z.ZodOptional<z.ZodNumber>;
141
+ }, "strip", z.ZodTypeAny, {
142
+ transactionId: string;
143
+ ttlSeconds: number;
144
+ priority?: number | undefined;
145
+ }, {
146
+ transactionId: string;
147
+ ttlSeconds: number;
148
+ priority?: number | undefined;
149
+ }>>;
150
+ balances: z.ZodRecord<z.ZodString, z.ZodNumber>;
151
+ logo: z.ZodEffects<z.ZodString, string, string>;
152
+ }, "strip", z.ZodTypeAny, {
153
+ description: string;
154
+ name: string;
155
+ ticker: string;
156
+ keywords: string[];
157
+ owner: string;
158
+ controllers: string[];
159
+ records: Record<string, {
160
+ transactionId: string;
161
+ ttlSeconds: number;
162
+ priority?: number | undefined;
163
+ }>;
164
+ balances: Record<string, number>;
165
+ logo: string;
166
+ }, {
167
+ description: string;
168
+ name: string;
169
+ ticker: string;
170
+ keywords: string[];
171
+ owner: string;
172
+ controllers: string[];
173
+ records: Record<string, {
174
+ transactionId: string;
175
+ ttlSeconds: number;
176
+ priority?: number | undefined;
177
+ }>;
178
+ balances: Record<string, number>;
179
+ logo: string;
180
+ }>;
181
+ export type SpawnANTState = z.infer<typeof SpawnANTStateSchema>;
130
182
  export declare const AntReadHandlers: readonly ["balance", "balances", "totalSupply", "info", "controllers", "record", "records", "state"];
131
183
  export type AoANTReadHandler = (typeof AntReadHandlers)[number];
132
184
  export declare const AntWriteHandlers: readonly ["_eval", "_default", "transfer", "addController", "removeController", "setRecord", "removeRecord", "setName", "setTicker", "setDescription", "setKeywords", "setLogo", "initializeState", "releaseName", "reassignName", "approvePrimaryName", "removePrimaryNames"];
133
185
  export type AoANTWriteHandler = (typeof AntWriteHandlers)[number];
134
- export declare const AntHandlerNames: ("balance" | "balances" | "totalSupply" | "info" | "controllers" | "record" | "records" | "state" | "_eval" | "_default" | "transfer" | "addController" | "removeController" | "setRecord" | "removeRecord" | "setName" | "setTicker" | "setDescription" | "setKeywords" | "setLogo" | "initializeState" | "releaseName" | "reassignName" | "approvePrimaryName" | "removePrimaryNames")[];
186
+ export declare const AntHandlerNames: ("controllers" | "records" | "balances" | "balance" | "totalSupply" | "info" | "record" | "state" | "_eval" | "_default" | "transfer" | "addController" | "removeController" | "setRecord" | "removeRecord" | "setName" | "setTicker" | "setDescription" | "setKeywords" | "setLogo" | "initializeState" | "releaseName" | "reassignName" | "approvePrimaryName" | "removePrimaryNames")[];
135
187
  export type AoANTHandler = AoANTWriteHandler | AoANTReadHandler;
136
188
  export declare const AntHandlersSchema: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>;
137
189
  export declare const AntInfoSchema: z.ZodObject<{
@@ -19,3 +19,4 @@ export * from './common.js';
19
19
  export * from './faucet.js';
20
20
  export * from './io.js';
21
21
  export * from './token.js';
22
+ export * from './wayfinder.js';
@@ -421,6 +421,7 @@ export type DemandFactorSettings = {
421
421
  criteria: string;
422
422
  };
423
423
  export interface AoARIORead {
424
+ process: AOProcess;
424
425
  getInfo(): Promise<{
425
426
  Ticker: string;
426
427
  Name: string;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  interface Equatable<T> {
3
4
  equals(other: T): boolean;
4
5
  }
@@ -0,0 +1,20 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * Copyright (C) 2022-2024 Permanent Data Solutions, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export interface WayfinderRouter {
18
+ readonly name: string;
19
+ getTargetGateway: () => Promise<URL>;
20
+ }
@@ -1,18 +1,7 @@
1
1
  import Arweave from 'arweave';
2
2
  import { Logger } from '../common/index.js';
3
- import { AoANTRecord } from '../types/ant.js';
3
+ import { SpawnANTState } from '../types/ant.js';
4
4
  import { AoClient, AoEpochData, AoEpochDistributed, AoSigner, ContractSigner, WalletAddress } from '../types/index.js';
5
- export type SpawnANTState = {
6
- owner: WalletAddress;
7
- controllers: WalletAddress[];
8
- name: string;
9
- description: string;
10
- keywords: string[];
11
- ticker: string;
12
- records: Record<string, AoANTRecord>;
13
- balances: Record<WalletAddress, number>;
14
- logo: string;
15
- };
16
5
  export type SpawnANTParams = {
17
6
  signer: AoSigner;
18
7
  module?: string;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  export declare function fromB64Url(str: string): Buffer;
3
4
  export declare function toB64Url(buffer: Buffer): string;
4
5
  export declare function sha256B64Url(input: Buffer): string;
@@ -13,4 +13,4 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export declare const version = "3.10.0-alpha.3";
16
+ export declare const version = "3.10.0-alpha.5";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ar.io/sdk",
3
- "version": "3.10.0-alpha.4",
3
+ "version": "3.10.0-alpha.6",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/ar-io/ar-io-sdk.git"
@@ -72,7 +72,7 @@
72
72
  "test:cjs": "yarn build:cjs && yarn link && cd ./tests/e2e/cjs && yarn && yarn test",
73
73
  "test:esm": "yarn build:esm && yarn link && cd ./tests/e2e/esm && yarn && yarn test",
74
74
  "test:web": "yarn build:esm && yarn link && cd ./tests/e2e/web && yarn && yarn test",
75
- "test:unit": "node --import=./register.mjs --test --test-reporter=spec src/**/**.test.ts",
75
+ "test:unit": "node --import=./register.mjs --test --test-reporter=spec 'src/**/*.test.ts'",
76
76
  "test:link": "yarn build && yarn link",
77
77
  "test:e2e": "yarn test:cjs && yarn test:esm && yarn test:web",
78
78
  "test:integration": "yarn build:esm && yarn link && cd ./tests/integration && yarn && yarn test",
@@ -92,7 +92,7 @@
92
92
  "@semantic-release/git": "^10.0.1",
93
93
  "@semantic-release/npm": "^11.0.3",
94
94
  "@trivago/prettier-plugin-sort-imports": "^4.2.0",
95
- "@types/node": "^20.12.12",
95
+ "@types/node": "^22.14.1",
96
96
  "@types/prompts": "^2.4.9",
97
97
  "@types/sinon": "^10.0.15",
98
98
  "@typescript-eslint/eslint-plugin": "^5.62.0",
@@ -110,6 +110,7 @@
110
110
  "eslint-plugin-n": "^16.0.1",
111
111
  "eslint-plugin-prettier": "^5.0.0",
112
112
  "eslint-plugin-promise": "^6.1.1",
113
+ "got": "^12.4.7",
113
114
  "http-server": "^14.1.1",
114
115
  "husky": "^8.0.3",
115
116
  "lint-staged": "^15.2.2",