@ar.io/sdk 3.24.0 → 4.0.0-alpha.2

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 (169) hide show
  1. package/README.md +757 -589
  2. package/lib/esm/cli/cli.js +188 -152
  3. package/lib/esm/cli/commands/antCommands.js +23 -58
  4. package/lib/esm/cli/commands/arnsPurchaseCommands.js +48 -30
  5. package/lib/esm/cli/commands/escrowCommands.js +227 -0
  6. package/lib/esm/cli/commands/gatewayWriteCommands.js +140 -23
  7. package/lib/esm/cli/commands/pruneCommands.js +154 -0
  8. package/lib/esm/cli/commands/readCommands.js +22 -3
  9. package/lib/esm/cli/commands/transfer.js +6 -6
  10. package/lib/esm/cli/options.js +124 -58
  11. package/lib/esm/cli/utils.js +303 -175
  12. package/lib/esm/common/ant-registry.js +17 -143
  13. package/lib/esm/common/ant.js +44 -1167
  14. package/lib/esm/common/faucet.js +17 -6
  15. package/lib/esm/common/index.js +0 -4
  16. package/lib/esm/common/io.js +25 -1412
  17. package/lib/esm/constants.js +13 -19
  18. package/lib/esm/solana/ant-readable.js +724 -0
  19. package/lib/esm/solana/ant-registry-readable.js +133 -0
  20. package/lib/esm/solana/ant-registry-writeable.js +472 -0
  21. package/lib/esm/solana/ant-writeable.js +384 -0
  22. package/lib/esm/solana/ata.js +70 -0
  23. package/lib/esm/solana/canonical-message.js +128 -0
  24. package/lib/esm/solana/clusters.js +111 -0
  25. package/lib/esm/solana/constants.js +146 -0
  26. package/lib/esm/solana/delegation-math.js +112 -0
  27. package/lib/esm/solana/deserialize.js +711 -0
  28. package/lib/esm/solana/escrow.js +839 -0
  29. package/lib/{cjs/utils/json.js → esm/solana/events.js} +15 -10
  30. package/lib/esm/solana/funding-plan.js +699 -0
  31. package/lib/esm/solana/index.js +126 -0
  32. package/lib/esm/solana/instruction.js +39 -0
  33. package/lib/esm/solana/io-readable.js +2182 -0
  34. package/lib/esm/solana/io-writeable.js +3196 -0
  35. package/lib/esm/solana/json-rpc.js +90 -0
  36. package/lib/esm/solana/metadata.js +81 -0
  37. package/lib/esm/solana/mpl-core.js +192 -0
  38. package/lib/esm/solana/pda.js +332 -0
  39. package/lib/esm/solana/predict-prescribed-observers.js +110 -0
  40. package/lib/esm/solana/retry.js +117 -0
  41. package/lib/esm/solana/rpc-circuit-breaker.js +258 -0
  42. package/lib/esm/solana/send.js +372 -0
  43. package/lib/esm/solana/spawn-ant.js +224 -0
  44. package/lib/esm/solana/types.js +1 -0
  45. package/lib/esm/types/ant.js +27 -15
  46. package/lib/esm/types/io.js +8 -11
  47. package/lib/esm/utils/ant.js +0 -63
  48. package/lib/esm/utils/index.js +0 -3
  49. package/lib/esm/version.js +1 -1
  50. package/lib/types/cli/commands/antCommands.d.ts +5 -13
  51. package/lib/types/cli/commands/arnsPurchaseCommands.d.ts +33 -7
  52. package/lib/types/cli/commands/escrowCommands.d.ts +68 -0
  53. package/lib/types/cli/commands/gatewayWriteCommands.d.ts +12 -11
  54. package/lib/types/cli/commands/pruneCommands.d.ts +31 -0
  55. package/lib/types/cli/commands/readCommands.d.ts +27 -22
  56. package/lib/types/cli/commands/transfer.d.ts +9 -9
  57. package/lib/types/cli/options.d.ts +76 -21
  58. package/lib/types/cli/types.d.ts +11 -13
  59. package/lib/types/cli/utils.d.ts +71 -31
  60. package/lib/types/common/ant-registry.d.ts +49 -47
  61. package/lib/types/common/ant.d.ts +54 -539
  62. package/lib/types/common/faucet.d.ts +20 -8
  63. package/lib/types/common/index.d.ts +0 -3
  64. package/lib/types/common/io.d.ts +66 -258
  65. package/lib/types/constants.d.ts +11 -18
  66. package/lib/types/solana/ant-readable.d.ts +180 -0
  67. package/lib/types/solana/ant-registry-readable.d.ts +105 -0
  68. package/lib/types/solana/ant-registry-writeable.d.ts +249 -0
  69. package/lib/types/solana/ant-writeable.d.ts +177 -0
  70. package/lib/types/solana/ata.d.ts +44 -0
  71. package/lib/types/solana/canonical-message.d.ts +121 -0
  72. package/lib/types/solana/clusters.d.ts +109 -0
  73. package/lib/types/solana/constants.d.ts +119 -0
  74. package/lib/types/solana/delegation-math.d.ts +45 -0
  75. package/lib/types/solana/deserialize.d.ts +262 -0
  76. package/lib/types/solana/escrow.d.ts +480 -0
  77. package/lib/types/solana/events.d.ts +38 -0
  78. package/lib/types/solana/funding-plan.d.ts +225 -0
  79. package/lib/types/solana/index.d.ts +87 -0
  80. package/lib/types/solana/instruction.d.ts +39 -0
  81. package/lib/types/solana/io-readable.d.ts +499 -0
  82. package/lib/types/solana/io-writeable.d.ts +893 -0
  83. package/lib/types/solana/json-rpc.d.ts +47 -0
  84. package/lib/types/solana/metadata.d.ts +84 -0
  85. package/lib/types/solana/mpl-core.d.ts +120 -0
  86. package/lib/types/solana/pda.d.ts +95 -0
  87. package/lib/types/solana/predict-prescribed-observers.d.ts +28 -0
  88. package/lib/types/solana/retry.d.ts +62 -0
  89. package/lib/types/solana/rpc-circuit-breaker.d.ts +78 -0
  90. package/lib/types/solana/send.d.ts +94 -0
  91. package/lib/types/solana/spawn-ant.d.ts +145 -0
  92. package/lib/types/solana/types.d.ts +82 -0
  93. package/lib/types/types/ant-registry.d.ts +43 -4
  94. package/lib/types/types/ant.d.ts +114 -96
  95. package/lib/types/types/common.d.ts +18 -74
  96. package/lib/types/types/faucet.d.ts +2 -2
  97. package/lib/types/types/io.d.ts +244 -158
  98. package/lib/types/types/token.d.ts +0 -12
  99. package/lib/types/utils/ant.d.ts +1 -12
  100. package/lib/types/utils/index.d.ts +0 -3
  101. package/lib/types/version.d.ts +1 -1
  102. package/package.json +36 -33
  103. package/lib/cjs/cli/cli.js +0 -822
  104. package/lib/cjs/cli/commands/antCommands.js +0 -113
  105. package/lib/cjs/cli/commands/arnsPurchaseCommands.js +0 -212
  106. package/lib/cjs/cli/commands/gatewayWriteCommands.js +0 -210
  107. package/lib/cjs/cli/commands/readCommands.js +0 -215
  108. package/lib/cjs/cli/commands/transfer.js +0 -159
  109. package/lib/cjs/cli/options.js +0 -470
  110. package/lib/cjs/cli/types.js +0 -2
  111. package/lib/cjs/cli/utils.js +0 -639
  112. package/lib/cjs/common/ant-registry.js +0 -155
  113. package/lib/cjs/common/ant-versions.js +0 -93
  114. package/lib/cjs/common/ant.js +0 -1182
  115. package/lib/cjs/common/arweave.js +0 -27
  116. package/lib/cjs/common/contracts/ao-process.js +0 -224
  117. package/lib/cjs/common/error.js +0 -64
  118. package/lib/cjs/common/faucet.js +0 -150
  119. package/lib/cjs/common/hyperbeam/hb.js +0 -173
  120. package/lib/cjs/common/index.js +0 -42
  121. package/lib/cjs/common/io.js +0 -1423
  122. package/lib/cjs/common/logger.js +0 -83
  123. package/lib/cjs/common/loggers/winston.js +0 -68
  124. package/lib/cjs/common/marketplace.js +0 -731
  125. package/lib/cjs/common/turbo.js +0 -223
  126. package/lib/cjs/constants.js +0 -41
  127. package/lib/cjs/node/index.js +0 -39
  128. package/lib/cjs/package.json +0 -1
  129. package/lib/cjs/types/ant-registry.js +0 -2
  130. package/lib/cjs/types/ant.js +0 -168
  131. package/lib/cjs/types/common.js +0 -2
  132. package/lib/cjs/types/faucet.js +0 -2
  133. package/lib/cjs/types/index.js +0 -37
  134. package/lib/cjs/types/io.js +0 -51
  135. package/lib/cjs/types/token.js +0 -116
  136. package/lib/cjs/utils/ant.js +0 -108
  137. package/lib/cjs/utils/ao.js +0 -432
  138. package/lib/cjs/utils/arweave.js +0 -285
  139. package/lib/cjs/utils/base64.js +0 -62
  140. package/lib/cjs/utils/hash.js +0 -56
  141. package/lib/cjs/utils/index.js +0 -38
  142. package/lib/cjs/utils/processes.js +0 -173
  143. package/lib/cjs/utils/random.js +0 -30
  144. package/lib/cjs/utils/schema.js +0 -15
  145. package/lib/cjs/utils/url.js +0 -37
  146. package/lib/cjs/version.js +0 -20
  147. package/lib/cjs/web/index.js +0 -41
  148. package/lib/esm/common/ant-versions.js +0 -87
  149. package/lib/esm/common/arweave.js +0 -21
  150. package/lib/esm/common/contracts/ao-process.js +0 -220
  151. package/lib/esm/common/hyperbeam/hb.js +0 -169
  152. package/lib/esm/common/marketplace.js +0 -724
  153. package/lib/esm/common/turbo.js +0 -215
  154. package/lib/esm/node/index.js +0 -20
  155. package/lib/esm/utils/ao.js +0 -420
  156. package/lib/esm/utils/arweave.js +0 -271
  157. package/lib/esm/utils/processes.js +0 -167
  158. package/lib/esm/web/index.js +0 -20
  159. package/lib/types/common/ant-versions.d.ts +0 -39
  160. package/lib/types/common/arweave.d.ts +0 -17
  161. package/lib/types/common/contracts/ao-process.d.ts +0 -47
  162. package/lib/types/common/hyperbeam/hb.d.ts +0 -88
  163. package/lib/types/common/marketplace.d.ts +0 -568
  164. package/lib/types/common/turbo.d.ts +0 -61
  165. package/lib/types/node/index.d.ts +0 -20
  166. package/lib/types/utils/ao.d.ts +0 -80
  167. package/lib/types/utils/arweave.d.ts +0 -79
  168. package/lib/types/utils/processes.d.ts +0 -39
  169. package/lib/types/web/index.d.ts +0 -20
@@ -1,80 +0,0 @@
1
- import Arweave from 'arweave';
2
- import { Logger } from '../common/index.js';
3
- import { SpawnANTState } from '../types/ant.js';
4
- import { AoClient, AoEpochData, AoEpochDistributed, AoSigner, ContractSigner, ProcessId, SpawnAntProgressEvent, WalletAddress } from '../types/index.js';
5
- export type SpawnANTParams = {
6
- signer: AoSigner;
7
- module?: string;
8
- ao?: AoClient;
9
- scheduler?: string;
10
- state?: SpawnANTState;
11
- stateContractTxId?: string;
12
- antRegistryId?: string;
13
- logger?: Logger;
14
- authority?: string;
15
- tags?: {
16
- name: string;
17
- value: string;
18
- }[];
19
- /**
20
- * @deprecated Compiled modules are now being used instead of luaCodeTxId
21
- */
22
- luaCodeTxId?: string;
23
- /**
24
- * @deprecated no longer in use due to compiled modules being preferred
25
- */
26
- arweave?: Arweave;
27
- /**
28
- * Callback function to be called when signing progress is made
29
- */
30
- onSigningProgress?: (name: keyof SpawnAntProgressEvent, payload: SpawnAntProgressEvent[keyof SpawnAntProgressEvent]) => void;
31
- hyperbeamUrl?: string;
32
- };
33
- export declare function spawnANT({ signer, module, ao, scheduler, state, tags, antRegistryId, logger, authority, onSigningProgress, hyperbeamUrl, }: SpawnANTParams): Promise<ProcessId>;
34
- export declare function forkANT({ signer, antProcessId, logger, ao, moduleId, antRegistryId, onSigningProgress, hyperbeamUrl, }: {
35
- signer: AoSigner;
36
- antProcessId: string;
37
- moduleId?: string;
38
- logger?: Logger;
39
- ao?: AoClient;
40
- antRegistryId?: string;
41
- onSigningProgress?: (name: keyof SpawnAntProgressEvent, payload: SpawnAntProgressEvent[keyof SpawnAntProgressEvent]) => void;
42
- hyperbeamUrl?: string;
43
- }): Promise<string>;
44
- /**
45
- * @deprecated
46
- * Direct Evals are not encouraged when dealing with ANTs.
47
- * Instead, use spawnANT to fork an ANT to new module source code
48
- */
49
- export declare function evolveANT({ signer, processId, luaCodeTxId, ao, logger, arweave, }: {
50
- signer: AoSigner;
51
- processId: string;
52
- luaCodeTxId?: string;
53
- ao?: AoClient;
54
- logger?: Logger;
55
- arweave?: Arweave;
56
- }): Promise<string>;
57
- export declare function isAoSigner(value: unknown): value is AoSigner;
58
- export declare function createAoSigner(signer: ContractSigner): AoSigner;
59
- export declare const defaultTargetManifestId = "-k7t8xMoB8hW482609Z9F4bTFMC3MnuW8bTvTyT8pFI";
60
- export declare const defaultANTLogoId = "Sie_26dvgyok0PZD_-iQAFOhOd5YxDTkczOLoqTTL_A";
61
- export declare function initANTStateForAddress({ owner, targetId, ttlSeconds, keywords, controllers, description, ticker, name, logo, }: Partial<SpawnANTState> & {
62
- targetId?: string;
63
- ttlSeconds?: number;
64
- owner: WalletAddress;
65
- }): SpawnANTState;
66
- /**
67
- * Uses zod schema to parse the epoch data
68
- */
69
- export declare function parseAoEpochData(value: unknown): AoEpochData<AoEpochDistributed>;
70
- export declare function errorMessageFromOutput(output: {
71
- Error?: string;
72
- Messages?: {
73
- Tags?: {
74
- name: string;
75
- value: string;
76
- }[];
77
- Data?: string;
78
- }[];
79
- }): string | undefined;
80
- export declare function removeUnicodeFromError(error: string): string;
@@ -1,79 +0,0 @@
1
- /**
2
- * Copyright (C) 2022-2024 Permanent Data Solutions, Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import Arweave from 'arweave';
17
- import { AoClient, BlockHeight } from '../types/common.js';
18
- import { AoEligibleDistribution, AoEpochData, AoEpochDistributed, PaginationParams, PaginationResult } from '../types/io.js';
19
- export declare const validateArweaveId: (id: string) => boolean;
20
- export declare function isBlockHeight(height: string | number): height is BlockHeight;
21
- /**
22
- * Prune tags that are undefined or empty.
23
- * @param tags - The tags to prune.
24
- * @returns The pruned tags.
25
- */
26
- export declare const pruneTags: (tags: {
27
- name: string;
28
- value: string | undefined;
29
- }[]) => {
30
- name: string;
31
- value: string;
32
- }[];
33
- export declare const paginationParamsToTags: <T>(params?: PaginationParams<T>) => {
34
- name: string;
35
- value: string;
36
- }[];
37
- /**
38
- * Get the epoch with distribution data for the current epoch
39
- * @param arweave - The Arweave instance
40
- * @returns The epoch with distribution data
41
- */
42
- export declare const getEpochDataFromGql: ({ arweave, epochIndex, processId, retries, gqlUrl, }: {
43
- arweave: Arweave;
44
- epochIndex: number;
45
- processId?: string;
46
- retries?: number;
47
- gqlUrl?: string;
48
- }) => Promise<AoEpochData<AoEpochDistributed> | undefined>;
49
- export declare const getEpochDataFromGqlWithCUFallback: ({ arweave, ao, epochIndex, processId, }: {
50
- arweave: Arweave;
51
- ao: AoClient;
52
- epochIndex: number;
53
- processId?: string;
54
- }) => Promise<AoEpochData<AoEpochDistributed> | undefined>;
55
- export declare const getEpochDataFromGqlFallback: ({ ao, epochIndex, processId, gqlUrl, }: {
56
- ao: AoClient;
57
- epochIndex: number;
58
- processId?: string;
59
- gqlUrl?: string;
60
- }) => Promise<AoEpochData<AoEpochDistributed> | undefined>;
61
- /**
62
- * Get the epoch with distribution data for the current epoch
63
- * @param arweave - The Arweave instance
64
- * @param epochIndex - The index of the epoch
65
- * @param processId - The process ID (optional, defaults to ARIO_MAINNET_PROCESS_ID)
66
- * @returns string - The stringified GQL query
67
- */
68
- export declare const epochDistributionNoticeGqlQuery: ({ epochIndex, processId, authorities, }: {
69
- epochIndex: any;
70
- processId?: string | undefined;
71
- authorities?: string[] | undefined;
72
- }) => string;
73
- export declare const epochDistributionNoticeGqlQueryFallback: ({ processId, owners, }: {
74
- epochIndex: number;
75
- processId?: string;
76
- owners?: string[];
77
- }) => string;
78
- export declare function sortAndPaginateEpochDataIntoEligibleDistributions(epochData: AoEpochData, params?: PaginationParams<AoEligibleDistribution>): PaginationResult<AoEligibleDistribution>;
79
- export declare function removeEligibleRewardsFromEpochData(epochData: AoEpochData): AoEpochData;
@@ -1,39 +0,0 @@
1
- import { EventEmitter } from 'eventemitter3';
2
- import { ILogger } from '../common/logger.js';
3
- import { AoANTRegistryRead } from '../types/ant-registry.js';
4
- import { AoARIORead, AoArNSNameData, AoClient, ProcessId, WalletAddress } from '../types/index.js';
5
- /**
6
- * @deprecated Use getArNSRecordsForAddress instead
7
- */
8
- export declare const getANTProcessesOwnedByWallet: ({ address, registry, }: {
9
- address: WalletAddress;
10
- registry?: AoANTRegistryRead;
11
- }) => Promise<ProcessId[]>;
12
- /**
13
- * @deprecated This is an inefficient way to get ArNS records for a wallet address. Use getArNSRecordsForAddress instead.
14
- */
15
- export declare class ArNSEventEmitter extends EventEmitter {
16
- protected contract: AoARIORead;
17
- private timeoutMs;
18
- private logger;
19
- private strict;
20
- private antAoClient;
21
- constructor({ contract, timeoutMs, logger, strict, antAoClient, }?: {
22
- contract?: AoARIORead;
23
- timeoutMs?: number;
24
- logger?: ILogger;
25
- strict?: boolean;
26
- antAoClient?: AoClient;
27
- });
28
- fetchProcessesOwnedByWallet({ address, pageSize, antRegistry, }: {
29
- address: WalletAddress;
30
- pageSize?: number;
31
- antRegistry?: AoANTRegistryRead;
32
- }): Promise<void>;
33
- }
34
- export declare const fetchAllArNSRecords: ({ contract, emitter, logger, pageSize, }: {
35
- contract?: AoARIORead;
36
- emitter?: EventEmitter;
37
- logger?: ILogger;
38
- pageSize?: number;
39
- }) => Promise<Record<string, AoArNSNameData>>;
@@ -1,20 +0,0 @@
1
- /**
2
- * Copyright (C) 2022-2024 Permanent Data Solutions, Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- export { ArweaveSigner, ArconnectSigner, InjectedEthereumSigner, EthereumSigner, } from '@dha-team/arbundles';
17
- export * from '../types/index.js';
18
- export * from '../common/index.js';
19
- export * from '../constants.js';
20
- export * from '../utils/index.js';