@ar.io/deploy 0.1.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/LICENSE +21 -0
- package/README.md +695 -0
- package/bin/dev.js +5 -0
- package/bin/run.js +5 -0
- package/dist/chunks/cache-C1tEeUx2.js +6 -0
- package/dist/chunks/cache-C1tEeUx2.js.map +1 -0
- package/dist/chunks/display-DRcjDj9k.js +104 -0
- package/dist/chunks/display-DRcjDj9k.js.map +1 -0
- package/dist/chunks/upload-workflow-DSS5FIa5.js +204 -0
- package/dist/chunks/upload-workflow-DSS5FIa5.js.map +1 -0
- package/dist/chunks/uploader-B2tC-1Qw.js +472 -0
- package/dist/chunks/uploader-B2tC-1Qw.js.map +1 -0
- package/dist/commands/deploy.js +187 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/upload.js +122 -0
- package/dist/commands/upload.js.map +1 -0
- package/dist/constants/flags.js +241 -0
- package/dist/constants/flags.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/arns.js +80 -0
- package/dist/prompts/arns.js.map +1 -0
- package/dist/prompts/deployment.js +27 -0
- package/dist/prompts/deployment.js.map +1 -0
- package/dist/prompts/wallet.js +52 -0
- package/dist/prompts/wallet.js.map +1 -0
- package/dist/src/commands/deploy.d.ts +9 -0
- package/dist/src/commands/deploy.d.ts.map +1 -0
- package/dist/src/commands/upload.d.ts +9 -0
- package/dist/src/commands/upload.d.ts.map +1 -0
- package/dist/src/constants/cache.d.ts +4 -0
- package/dist/src/constants/cache.d.ts.map +1 -0
- package/dist/src/constants/flags.d.ts +122 -0
- package/dist/src/constants/flags.d.ts.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/prompts/arns.d.ts +13 -0
- package/dist/src/prompts/arns.d.ts.map +1 -0
- package/dist/src/prompts/deployment.d.ts +6 -0
- package/dist/src/prompts/deployment.d.ts.map +1 -0
- package/dist/src/prompts/wallet.d.ts +11 -0
- package/dist/src/prompts/wallet.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +31 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/utils/__tests__/cache.test.d.ts +2 -0
- package/dist/src/utils/__tests__/cache.test.d.ts.map +1 -0
- package/dist/src/utils/__tests__/constants.test.d.ts +2 -0
- package/dist/src/utils/__tests__/constants.test.d.ts.map +1 -0
- package/dist/src/utils/__tests__/display.test.d.ts +2 -0
- package/dist/src/utils/__tests__/display.test.d.ts.map +1 -0
- package/dist/src/utils/cache.d.ts +48 -0
- package/dist/src/utils/cache.d.ts.map +1 -0
- package/dist/src/utils/chalk.d.ts +9 -0
- package/dist/src/utils/chalk.d.ts.map +1 -0
- package/dist/src/utils/config-resolver.d.ts +72 -0
- package/dist/src/utils/config-resolver.d.ts.map +1 -0
- package/dist/src/utils/constants.d.ts +4 -0
- package/dist/src/utils/constants.d.ts.map +1 -0
- package/dist/src/utils/deploy-key.d.ts +15 -0
- package/dist/src/utils/deploy-key.d.ts.map +1 -0
- package/dist/src/utils/display.d.ts +7 -0
- package/dist/src/utils/display.d.ts.map +1 -0
- package/dist/src/utils/path.d.ts +5 -0
- package/dist/src/utils/path.d.ts.map +1 -0
- package/dist/src/utils/signer.d.ts +19 -0
- package/dist/src/utils/signer.d.ts.map +1 -0
- package/dist/src/utils/solana.d.ts +29 -0
- package/dist/src/utils/solana.d.ts.map +1 -0
- package/dist/src/utils/upload-types.d.ts +35 -0
- package/dist/src/utils/upload-types.d.ts.map +1 -0
- package/dist/src/utils/uploader.d.ts +50 -0
- package/dist/src/utils/uploader.d.ts.map +1 -0
- package/dist/src/utils/validators.d.ts +21 -0
- package/dist/src/utils/validators.d.ts.map +1 -0
- package/dist/src/workflows/upload-workflow.d.ts +28 -0
- package/dist/src/workflows/upload-workflow.d.ts.map +1 -0
- package/dist/tests/constants.d.ts +11 -0
- package/dist/tests/constants.d.ts.map +1 -0
- package/dist/tests/e2e/deploy-command.test.d.ts +2 -0
- package/dist/tests/e2e/deploy-command.test.d.ts.map +1 -0
- package/dist/tests/global-setup.d.ts +6 -0
- package/dist/tests/global-setup.d.ts.map +1 -0
- package/dist/tests/mocks/turbo-handlers.d.ts +106 -0
- package/dist/tests/mocks/turbo-handlers.d.ts.map +1 -0
- package/dist/tests/setup.d.ts +11 -0
- package/dist/tests/setup.d.ts.map +1 -0
- package/dist/tests/types/payment-service.d.ts +218 -0
- package/dist/tests/types/payment-service.d.ts.map +1 -0
- package/dist/tests/types/upload-service.d.ts +168 -0
- package/dist/tests/types/upload-service.d.ts.map +1 -0
- package/dist/tests/unit/deploy-key.test.d.ts +2 -0
- package/dist/tests/unit/deploy-key.test.d.ts.map +1 -0
- package/dist/tests/unit/signer.test.d.ts +2 -0
- package/dist/tests/unit/signer.test.d.ts.map +1 -0
- package/dist/tests/unit/solana.test.d.ts +2 -0
- package/dist/tests/unit/solana.test.d.ts.map +1 -0
- package/dist/tests/unit/uploader-tags.test.d.ts +2 -0
- package/dist/tests/unit/uploader-tags.test.d.ts.map +1 -0
- package/dist/tests/unit/validators.test.d.ts +2 -0
- package/dist/tests/unit/validators.test.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/config-resolver.js +39 -0
- package/dist/utils/config-resolver.js.map +1 -0
- package/dist/utils/constants.js +6 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/path.js +15 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/signer.js +45 -0
- package/dist/utils/signer.js.map +1 -0
- package/dist/utils/uploader.js +5 -0
- package/dist/utils/uploader.js.map +1 -0
- package/dist/utils/validators.js +43 -0
- package/dist/utils/validators.js.map +1 -0
- package/dist/workflows/upload-workflow.js +9 -0
- package/dist/workflows/upload-workflow.js.map +1 -0
- package/package.json +116 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encode the contents of a wallet file into the deploy-key string used
|
|
3
|
+
* throughout the CLI, based on the signer type:
|
|
4
|
+
* - arweave: base64-encoded JWK JSON
|
|
5
|
+
* - solana: base58 secret key derived from a solana-keygen id.json byte array
|
|
6
|
+
* - ethereum/polygon/kyve: trimmed hex private key
|
|
7
|
+
*/
|
|
8
|
+
export declare function deployKeyFromWalletFile(sigType: string, content: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Encode a private-key string into the deploy-key string used throughout the
|
|
11
|
+
* CLI, based on the signer type (see {@link deployKeyFromWalletFile}). For
|
|
12
|
+
* Solana this is a base58-encoded secret key.
|
|
13
|
+
*/
|
|
14
|
+
export declare function deployKeyFromPrivateKey(sigType: string, privateKey: string): string;
|
|
15
|
+
//# sourceMappingURL=deploy-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-key.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy-key.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUhF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAUnF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { UploadCost, UploadSize } from './upload-types.js';
|
|
2
|
+
export type DisplayRow = [label: string, value: string];
|
|
3
|
+
export declare function formatUploadSize(size: UploadSize): string;
|
|
4
|
+
export declare function formatUploadCost(cost: UploadCost): string;
|
|
5
|
+
export declare function formatDisplayRows(rows: DisplayRow[]): string;
|
|
6
|
+
export declare function formatUploadError(message: string, title?: string): string;
|
|
7
|
+
//# sourceMappingURL=display.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../src/utils/display.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE/D,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAEvD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAE5D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAkB,GAAG,MAAM,CAyBlF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../src/utils/path.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUnD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ArweaveSigner, EthereumSigner, HexSolanaSigner } from '@ardrive/turbo-sdk';
|
|
2
|
+
import type { SignerType } from '../types/index.js';
|
|
3
|
+
export declare function createSigner(sigType: SignerType, deployKey: string): {
|
|
4
|
+
signer: EthereumSigner;
|
|
5
|
+
token: "ethereum";
|
|
6
|
+
} | {
|
|
7
|
+
signer: EthereumSigner;
|
|
8
|
+
token: "pol";
|
|
9
|
+
} | {
|
|
10
|
+
signer: ArweaveSigner;
|
|
11
|
+
token: "arweave";
|
|
12
|
+
} | {
|
|
13
|
+
signer: EthereumSigner;
|
|
14
|
+
token: "kyve";
|
|
15
|
+
} | {
|
|
16
|
+
signer: HexSolanaSigner;
|
|
17
|
+
token: "solana";
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;EA4ClE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Address, type KeyPairSigner } from '@solana/kit';
|
|
2
|
+
type ClusterProgramIds = Partial<Record<'antProgramId' | 'arnsProgramId' | 'coreProgramId' | 'garProgramId', Address>>;
|
|
3
|
+
export type SolanaCluster = 'devnet' | 'mainnet';
|
|
4
|
+
/**
|
|
5
|
+
* Normalize a Solana private key provided as a string. We accept a base58
|
|
6
|
+
* encoded 64-byte secret key (the format wallets like Phantom export), which is
|
|
7
|
+
* exactly what arbundles' HexSolanaSigner expects, so we just trim it.
|
|
8
|
+
*/
|
|
9
|
+
export declare function solanaDeployKeyFromString(input: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Convert a `solana-keygen` JSON wallet (a JSON array of 64 bytes, e.g.
|
|
12
|
+
* ~/.config/solana/id.json) into the base58 secret-key string used as the
|
|
13
|
+
* deploy key throughout the CLI.
|
|
14
|
+
*/
|
|
15
|
+
export declare function solanaDeployKeyFromFile(content: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Build a Solana `TransactionSigner` from the base58 deploy key, used to sign
|
|
18
|
+
* ArNS/ANT program transactions.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createSolanaArnsSigner(deployKey: string): Promise<KeyPairSigner>;
|
|
21
|
+
export declare function createArioRpc(cluster: SolanaCluster, rpcUrl?: string): import("@solana/kit").Rpc<import("@solana/kit").RequestAirdropApi & import("@solana/kit").GetAccountInfoApi & import("@solana/kit").GetBalanceApi & import("@solana/kit").GetBlockApi & import("@solana/kit").GetBlockCommitmentApi & import("@solana/kit").GetBlockHeightApi & import("@solana/kit").GetBlockProductionApi & import("@solana/kit").GetBlocksApi & import("@solana/kit").GetBlocksWithLimitApi & import("@solana/kit").GetBlockTimeApi & import("@solana/kit").GetClusterNodesApi & import("@solana/kit").GetEpochInfoApi & import("@solana/kit").GetEpochScheduleApi & import("@solana/kit").GetFeeForMessageApi & import("@solana/kit").GetFirstAvailableBlockApi & import("@solana/kit").GetGenesisHashApi & import("@solana/kit").GetHealthApi & import("@solana/kit").GetHighestSnapshotSlotApi & import("@solana/kit").GetIdentityApi & import("@solana/kit").GetInflationGovernorApi & import("@solana/kit").GetInflationRateApi & import("@solana/kit").GetInflationRewardApi & import("@solana/kit").GetLargestAccountsApi & import("@solana/kit").GetLatestBlockhashApi & import("@solana/kit").GetLeaderScheduleApi & import("@solana/kit").GetMaxRetransmitSlotApi & import("@solana/kit").GetMaxShredInsertSlotApi & import("@solana/kit").GetMinimumBalanceForRentExemptionApi & import("@solana/kit").GetMultipleAccountsApi & import("@solana/kit").GetProgramAccountsApi & import("@solana/kit").GetRecentPerformanceSamplesApi & import("@solana/kit").GetRecentPrioritizationFeesApi & import("@solana/kit").GetSignaturesForAddressApi & import("@solana/kit").GetSignatureStatusesApi & import("@solana/kit").GetSlotApi & import("@solana/kit").GetSlotLeaderApi & import("@solana/kit").GetSlotLeadersApi & import("@solana/kit").GetStakeMinimumDelegationApi & import("@solana/kit").GetSupplyApi & import("@solana/kit").GetTokenAccountBalanceApi & import("@solana/kit").GetTokenAccountsByDelegateApi & import("@solana/kit").GetTokenAccountsByOwnerApi & import("@solana/kit").GetTokenLargestAccountsApi & import("@solana/kit").GetTokenSupplyApi & import("@solana/kit").GetTransactionApi & import("@solana/kit").GetTransactionCountApi & import("@solana/kit").GetVersionApi & import("@solana/kit").GetVoteAccountsApi & import("@solana/kit").IsBlockhashValidApi & import("@solana/kit").MinimumLedgerSlotApi & import("@solana/kit").SendTransactionApi & import("@solana/kit").SimulateTransactionApi>;
|
|
22
|
+
export declare function createArioRpcSubscriptions(cluster: SolanaCluster, rpcUrl?: string): import("@solana/kit").RpcSubscriptions<import("@solana/kit").SolanaRpcSubscriptionsApi>;
|
|
23
|
+
/**
|
|
24
|
+
* Program-id overrides to pass to `ARIO.init` / `SolanaANTWriteable`. Mainnet
|
|
25
|
+
* uses the SDK defaults (empty object); devnet must pass explicit ids.
|
|
26
|
+
*/
|
|
27
|
+
export declare function clusterProgramIds(cluster: SolanaCluster): ClusterProgramIds;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../src/utils/solana.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,OAAO,EAIZ,KAAK,aAAa,EACnB,MAAM,aAAa,CAAA;AAGpB,KAAK,iBAAiB,GAAG,OAAO,CAC9B,MAAM,CAAC,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,CACrF,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEhD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAe/D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAEhF;AAcD,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,o0EAEpE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,2FAEjF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,iBAAiB,CAW3E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared upload client/result types used by the Turbo upload path.
|
|
3
|
+
*
|
|
4
|
+
* These describe the minimal surface the uploader and workflow rely on,
|
|
5
|
+
* independent of any specific bundler implementation.
|
|
6
|
+
*/
|
|
7
|
+
export interface UploadFileArgs {
|
|
8
|
+
dataItemOpts?: {
|
|
9
|
+
tags?: Array<{
|
|
10
|
+
name: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}>;
|
|
13
|
+
};
|
|
14
|
+
file?: string | Buffer;
|
|
15
|
+
fileSizeFactory?: () => number;
|
|
16
|
+
fileStreamFactory?: () => unknown;
|
|
17
|
+
fundingMode?: unknown;
|
|
18
|
+
}
|
|
19
|
+
export interface UploadClient {
|
|
20
|
+
uploadFile: (args: UploadFileArgs) => Promise<UploadClientResult>;
|
|
21
|
+
}
|
|
22
|
+
export interface UploadClientResult {
|
|
23
|
+
cost?: UploadCost;
|
|
24
|
+
id?: string;
|
|
25
|
+
size?: UploadSize;
|
|
26
|
+
}
|
|
27
|
+
export interface UploadCost {
|
|
28
|
+
amount: bigint;
|
|
29
|
+
token: string;
|
|
30
|
+
}
|
|
31
|
+
export interface UploadSize {
|
|
32
|
+
payloadBytes: number;
|
|
33
|
+
signedBytes?: number;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=upload-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-types.d.ts","sourceRoot":"","sources":["../../../src/utils/upload-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;IAChE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAA;IACjC,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAClE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { OnDemandFunding } from '@ardrive/turbo-sdk';
|
|
2
|
+
import { type TransactionCache } from './cache.js';
|
|
3
|
+
import type { UploadClient, UploadCost, UploadSize } from './upload-types.js';
|
|
4
|
+
type DataItemTag = {
|
|
5
|
+
name: string;
|
|
6
|
+
value: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Provenance tags stamped on every uploaded data item. In CI (GitHub Actions)
|
|
10
|
+
* the deploying commit SHA is attached as a GIT-HASH tag; locally, where
|
|
11
|
+
* GITHUB_SHA is unset, it is omitted.
|
|
12
|
+
*/
|
|
13
|
+
export declare function provenanceTags(): DataItemTag[];
|
|
14
|
+
export interface UploadResult {
|
|
15
|
+
cacheHit: boolean;
|
|
16
|
+
cost?: UploadCost;
|
|
17
|
+
size?: UploadSize;
|
|
18
|
+
transactionId: string;
|
|
19
|
+
updatedCache?: TransactionCache;
|
|
20
|
+
}
|
|
21
|
+
export interface FolderUploadResult extends UploadResult {
|
|
22
|
+
/** Number of files that were cache hits (not re-uploaded) */
|
|
23
|
+
cacheHits: number;
|
|
24
|
+
/** Total number of files in the folder */
|
|
25
|
+
totalFiles: number;
|
|
26
|
+
/** Number of files that were uploaded */
|
|
27
|
+
uploaded: number;
|
|
28
|
+
}
|
|
29
|
+
export declare function uploadFile(turbo: UploadClient, filePath: string, options?: {
|
|
30
|
+
cache?: TransactionCache;
|
|
31
|
+
fundingMode?: OnDemandFunding;
|
|
32
|
+
}): Promise<UploadResult>;
|
|
33
|
+
/**
|
|
34
|
+
* Upload a folder with per-file deduplication.
|
|
35
|
+
* Each file is checked against the cache individually, and only uncached files are uploaded.
|
|
36
|
+
* A manifest is then constructed and uploaded to create the folder structure.
|
|
37
|
+
*
|
|
38
|
+
* @param turbo - Upload client used for file and manifest uploads.
|
|
39
|
+
* @param folderPath - Folder to upload.
|
|
40
|
+
* @param options - Upload options for caching, concurrency, funding, and failure handling.
|
|
41
|
+
* @returns Folder upload result including manifest transaction ID and cache stats.
|
|
42
|
+
*/
|
|
43
|
+
export declare function uploadFolder(turbo: UploadClient, folderPath: string, options?: {
|
|
44
|
+
cache?: TransactionCache;
|
|
45
|
+
concurrency?: number;
|
|
46
|
+
fundingMode?: OnDemandFunding;
|
|
47
|
+
throwOnFailure?: boolean;
|
|
48
|
+
}): Promise<FolderUploadResult>;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=uploader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../../src/utils/uploader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE7E,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAElD;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,WAAW,EAAE,CAO9C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,gBAAgB,CAAA;CAChC;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B,GACA,OAAO,CAAC,YAAY,CAAC,CA4DvB;AAYD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAiJ7B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate TTL seconds
|
|
3
|
+
*/
|
|
4
|
+
export declare function validateTtl(value: string): string | true;
|
|
5
|
+
/**
|
|
6
|
+
* Validate undername
|
|
7
|
+
*/
|
|
8
|
+
export declare function validateUndername(value: string): string | true;
|
|
9
|
+
/**
|
|
10
|
+
* Validate file path exists
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateFileExists(value: string): string | true;
|
|
13
|
+
/**
|
|
14
|
+
* Validate folder path exists
|
|
15
|
+
*/
|
|
16
|
+
export declare function validateFolderExists(value: string): string | true;
|
|
17
|
+
/**
|
|
18
|
+
* Validate ArNS name is not empty
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateArnsName(value: string): string | true;
|
|
21
|
+
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/utils/validators.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO/D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM7D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { UploadCost, UploadSize } from '../utils/upload-types.js';
|
|
2
|
+
export interface UploadWorkflowConfig {
|
|
3
|
+
'dedupe-cache-max-entries': number;
|
|
4
|
+
'deploy-file'?: string;
|
|
5
|
+
'deploy-folder': string;
|
|
6
|
+
'max-token-amount'?: string;
|
|
7
|
+
'on-demand'?: string;
|
|
8
|
+
'sig-type': string;
|
|
9
|
+
uploader?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface UploadWorkflowIo {
|
|
12
|
+
error: (msg: string) => never;
|
|
13
|
+
}
|
|
14
|
+
export interface UploadWorkflowResult {
|
|
15
|
+
cost?: UploadCost;
|
|
16
|
+
size?: UploadSize;
|
|
17
|
+
transactionId: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Sign in to Turbo and upload a file or folder.
|
|
21
|
+
*
|
|
22
|
+
* @param deployKey - Wallet material (base64 JWK or hex private key per sig-type)
|
|
23
|
+
* @param config - Upload paths, dedupe, bundler service URL, on-demand payment
|
|
24
|
+
* @param io - Error handler (must exit the process)
|
|
25
|
+
* @returns Transaction ID or folder manifest ID
|
|
26
|
+
*/
|
|
27
|
+
export declare function runUploadWorkflow(deployKey: string, config: UploadWorkflowConfig, io: UploadWorkflowIo): Promise<UploadWorkflowResult>;
|
|
28
|
+
//# sourceMappingURL=upload-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-workflow.d.ts","sourceRoot":"","sources":["../../../src/workflows/upload-workflow.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAgB,UAAU,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGpF,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,EAAE,MAAM,CAAA;IAClC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAeD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,oBAAoB,EAC5B,EAAE,EAAE,gBAAgB,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAkL/B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test Arweave wallet JWK
|
|
3
|
+
* Loaded from fixtures/test_wallet.json
|
|
4
|
+
*/
|
|
5
|
+
export declare const TEST_ARWEAVE_WALLET: any;
|
|
6
|
+
/**
|
|
7
|
+
* Test Ethereum private key
|
|
8
|
+
* This is a deterministic test key - DO NOT use for real transactions
|
|
9
|
+
*/
|
|
10
|
+
export declare const TEST_ETH_PRIVATE_KEY = "0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef";
|
|
11
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../tests/constants.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,KAE/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,uEACqC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-command.test.d.ts","sourceRoot":"","sources":["../../../tests/e2e/deploy-command.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-setup.d.ts","sourceRoot":"","sources":["../../tests/global-setup.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,SAa5B"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { components as PaymentComponents } from '../types/payment-service.js';
|
|
2
|
+
import type { components as UploadComponents } from '../types/upload-service.js';
|
|
3
|
+
/**
|
|
4
|
+
* Type aliases from generated OpenAPI types
|
|
5
|
+
*/
|
|
6
|
+
type DataItemPost = UploadComponents['schemas']['DataItemPost'];
|
|
7
|
+
type BalanceResponse = PaymentComponents['schemas']['BalanceResponse'];
|
|
8
|
+
type CreditResponse = PaymentComponents['schemas']['CreditResponse'];
|
|
9
|
+
type CreditedPaymentTx = PaymentComponents['schemas']['CreditedPaymentTx'];
|
|
10
|
+
/**
|
|
11
|
+
* Mock data generators for Turbo API responses
|
|
12
|
+
* Based on actual Turbo SDK types and API responses
|
|
13
|
+
*/
|
|
14
|
+
export declare const mockTurboData: {
|
|
15
|
+
balanceResponse: (winc?: string) => BalanceResponse;
|
|
16
|
+
priceResponse: (winc?: string) => CreditResponse;
|
|
17
|
+
topUpResponse: (winc?: string, txId?: string) => CreditedPaymentTx;
|
|
18
|
+
uploadFolderResponse: (manifestId?: string) => {
|
|
19
|
+
fileResponses: {
|
|
20
|
+
dataCaches: string[];
|
|
21
|
+
deadlineHeight: number;
|
|
22
|
+
fastFinalityIndexes: string[];
|
|
23
|
+
id: string;
|
|
24
|
+
owner: string;
|
|
25
|
+
public: string;
|
|
26
|
+
signature: string;
|
|
27
|
+
timestamp: number;
|
|
28
|
+
version: string;
|
|
29
|
+
winc: string;
|
|
30
|
+
}[];
|
|
31
|
+
manifest: {
|
|
32
|
+
index: {
|
|
33
|
+
path: string;
|
|
34
|
+
};
|
|
35
|
+
manifest: string;
|
|
36
|
+
paths: {
|
|
37
|
+
'index.html': {
|
|
38
|
+
id: string;
|
|
39
|
+
};
|
|
40
|
+
'style.css': {
|
|
41
|
+
id: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
version: string;
|
|
45
|
+
};
|
|
46
|
+
manifestResponse: {
|
|
47
|
+
dataCaches: string[];
|
|
48
|
+
deadlineHeight: number;
|
|
49
|
+
fastFinalityIndexes: string[];
|
|
50
|
+
id: string;
|
|
51
|
+
owner: string;
|
|
52
|
+
public: string;
|
|
53
|
+
signature: string;
|
|
54
|
+
timestamp: number;
|
|
55
|
+
version: string;
|
|
56
|
+
winc: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
uploadResponse: (id?: string) => DataItemPost;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Default MSW handlers for Turbo Upload Service
|
|
63
|
+
* Based on OpenAPI spec: https://turbo.ardrive.io/api-docs
|
|
64
|
+
*/
|
|
65
|
+
export declare const turboUploadHandlers: import("msw").HttpHandler[];
|
|
66
|
+
/**
|
|
67
|
+
* Default MSW handlers for Turbo Payment Service
|
|
68
|
+
* Based on OpenAPI spec: https://payment.ardrive.io/api-docs
|
|
69
|
+
*/
|
|
70
|
+
export declare const turboPaymentHandlers: import("msw").HttpHandler[];
|
|
71
|
+
/**
|
|
72
|
+
* Default MSW handlers for AO/ArNS Service
|
|
73
|
+
*/
|
|
74
|
+
export declare const aoHandlers: import("msw").HttpHandler[];
|
|
75
|
+
/**
|
|
76
|
+
* All Turbo API handlers combined
|
|
77
|
+
*/
|
|
78
|
+
export declare const turboHandlers: import("msw").HttpHandler[];
|
|
79
|
+
/**
|
|
80
|
+
* Helper to create custom upload response
|
|
81
|
+
* @param txId - The transaction ID to return
|
|
82
|
+
* @returns MSW handler for upload success
|
|
83
|
+
*/
|
|
84
|
+
export declare function mockUploadSuccess(txId: string): import("msw").HttpHandler;
|
|
85
|
+
/**
|
|
86
|
+
* Helper to create upload failure response
|
|
87
|
+
* @param status - HTTP status code
|
|
88
|
+
* @param message - Error message
|
|
89
|
+
* @returns MSW handler for upload failure
|
|
90
|
+
*/
|
|
91
|
+
export declare function mockUploadFailure(status?: number, message?: string): import("msw").HttpHandler;
|
|
92
|
+
/**
|
|
93
|
+
* Helper to create insufficient balance scenario
|
|
94
|
+
* @param balanceWinc - Balance amount in winc (default: low balance)
|
|
95
|
+
* @param costWinc - Upload cost in winc (default: higher than balance)
|
|
96
|
+
* @returns Array of MSW handlers for insufficient balance scenario
|
|
97
|
+
*/
|
|
98
|
+
export declare function mockInsufficientBalance(balanceWinc?: string, costWinc?: string): import("msw").HttpHandler[];
|
|
99
|
+
/**
|
|
100
|
+
* Helper to create on-demand funding success
|
|
101
|
+
* @param winc - Amount topped up in winc
|
|
102
|
+
* @returns MSW handler for on-demand funding success
|
|
103
|
+
*/
|
|
104
|
+
export declare function mockOnDemandFundingSuccess(winc?: string): import("msw").HttpHandler;
|
|
105
|
+
export {};
|
|
106
|
+
//# sourceMappingURL=turbo-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turbo-handlers.d.ts","sourceRoot":"","sources":["../../../tests/mocks/turbo-handlers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,KAAK,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAEhF;;GAEG;AACH,KAAK,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAA;AAC/D,KAAK,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAA;AACtE,KAAK,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAA;AACpE,KAAK,iBAAiB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAA;AAE1E;;;GAGG;AACH,eAAO,MAAM,aAAa;wCAEmB,eAAe;sCAOrB,cAAc;qDAShD,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAoEkD,YAAY;CAWnF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,6BAgH/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,6BAsChC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,6BA+LtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,6BAAmE,CAAA;AAE7F;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,6BAI7C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,SAAM,EAAE,OAAO,SAAkB,6BAIxE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,SAAQ,EAAE,QAAQ,SAAY,+BAchF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,SAAkB,6BAIhE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MSW Server for mocking HTTP requests in tests
|
|
3
|
+
* Configured to intercept requests to:
|
|
4
|
+
* - Turbo Upload Service (upload.ardrive.io)
|
|
5
|
+
* - Turbo Payment Service (payment.ardrive.io)
|
|
6
|
+
* - AO Compute Unit (cu.ardrive.io)
|
|
7
|
+
* - AO Message Unit (mu.ao-testnet.xyz)
|
|
8
|
+
* - Arweave GraphQL (turbo-gateway.com/graphql)
|
|
9
|
+
*/
|
|
10
|
+
export declare const server: import("msw/lib/node/index.js").SetupServerApi;
|
|
11
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":"AAWA;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,gDAAgC,CAAA"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by openapi-typescript.
|
|
3
|
+
* Do not make direct changes to the file.
|
|
4
|
+
*/
|
|
5
|
+
export interface paths {
|
|
6
|
+
"/balance": {
|
|
7
|
+
parameters: {
|
|
8
|
+
query?: never;
|
|
9
|
+
header?: never;
|
|
10
|
+
path?: never;
|
|
11
|
+
cookie?: never;
|
|
12
|
+
};
|
|
13
|
+
/** Get Current Balance of winc */
|
|
14
|
+
get: {
|
|
15
|
+
parameters: {
|
|
16
|
+
query?: {
|
|
17
|
+
address?: string;
|
|
18
|
+
};
|
|
19
|
+
header?: never;
|
|
20
|
+
path?: never;
|
|
21
|
+
cookie?: never;
|
|
22
|
+
};
|
|
23
|
+
requestBody?: never;
|
|
24
|
+
responses: {
|
|
25
|
+
/** @description OK */
|
|
26
|
+
200: {
|
|
27
|
+
headers: {
|
|
28
|
+
[name: string]: unknown;
|
|
29
|
+
};
|
|
30
|
+
content: {
|
|
31
|
+
"application/json": components["schemas"]["BalanceResponse"];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
put?: never;
|
|
37
|
+
post?: never;
|
|
38
|
+
delete?: never;
|
|
39
|
+
options?: never;
|
|
40
|
+
head?: never;
|
|
41
|
+
patch?: never;
|
|
42
|
+
trace?: never;
|
|
43
|
+
};
|
|
44
|
+
"/price/bytes/{byteCount}": {
|
|
45
|
+
parameters: {
|
|
46
|
+
query?: never;
|
|
47
|
+
header?: never;
|
|
48
|
+
path?: never;
|
|
49
|
+
cookie?: never;
|
|
50
|
+
};
|
|
51
|
+
/** Get Amount of Credits in winc for Byte Count */
|
|
52
|
+
get: {
|
|
53
|
+
parameters: {
|
|
54
|
+
query?: never;
|
|
55
|
+
header?: never;
|
|
56
|
+
path: {
|
|
57
|
+
byteCount: number;
|
|
58
|
+
};
|
|
59
|
+
cookie?: never;
|
|
60
|
+
};
|
|
61
|
+
requestBody?: never;
|
|
62
|
+
responses: {
|
|
63
|
+
/** @description OK */
|
|
64
|
+
200: {
|
|
65
|
+
headers: {
|
|
66
|
+
[name: string]: unknown;
|
|
67
|
+
};
|
|
68
|
+
content: {
|
|
69
|
+
"application/json": components["schemas"]["CreditResponse"];
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
put?: never;
|
|
75
|
+
post?: never;
|
|
76
|
+
delete?: never;
|
|
77
|
+
options?: never;
|
|
78
|
+
head?: never;
|
|
79
|
+
patch?: never;
|
|
80
|
+
trace?: never;
|
|
81
|
+
};
|
|
82
|
+
"/price/{type}/{amount}": {
|
|
83
|
+
parameters: {
|
|
84
|
+
query?: never;
|
|
85
|
+
header?: never;
|
|
86
|
+
path?: never;
|
|
87
|
+
cookie?: never;
|
|
88
|
+
};
|
|
89
|
+
/** Get winc for Payment Type and Amount */
|
|
90
|
+
get: {
|
|
91
|
+
parameters: {
|
|
92
|
+
query?: never;
|
|
93
|
+
header?: never;
|
|
94
|
+
path: {
|
|
95
|
+
type: "ario" | "solana" | "base-eth" | "arweave" | "ethereum";
|
|
96
|
+
amount: number;
|
|
97
|
+
};
|
|
98
|
+
cookie?: never;
|
|
99
|
+
};
|
|
100
|
+
requestBody?: never;
|
|
101
|
+
responses: {
|
|
102
|
+
/** @description OK */
|
|
103
|
+
200: {
|
|
104
|
+
headers: {
|
|
105
|
+
[name: string]: unknown;
|
|
106
|
+
};
|
|
107
|
+
content: {
|
|
108
|
+
"application/json": components["schemas"]["PaymentCreditResponse"];
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
put?: never;
|
|
114
|
+
post?: never;
|
|
115
|
+
delete?: never;
|
|
116
|
+
options?: never;
|
|
117
|
+
head?: never;
|
|
118
|
+
patch?: never;
|
|
119
|
+
trace?: never;
|
|
120
|
+
};
|
|
121
|
+
"/account/balance/{token}": {
|
|
122
|
+
parameters: {
|
|
123
|
+
query?: never;
|
|
124
|
+
header?: never;
|
|
125
|
+
path?: never;
|
|
126
|
+
cookie?: never;
|
|
127
|
+
};
|
|
128
|
+
get?: never;
|
|
129
|
+
put?: never;
|
|
130
|
+
/** Post a pending payment transaction */
|
|
131
|
+
post: {
|
|
132
|
+
parameters: {
|
|
133
|
+
query?: never;
|
|
134
|
+
header?: never;
|
|
135
|
+
path: {
|
|
136
|
+
token: "arweave" | "ario" | "solana" | "base-eth";
|
|
137
|
+
};
|
|
138
|
+
cookie?: never;
|
|
139
|
+
};
|
|
140
|
+
requestBody: {
|
|
141
|
+
content: {
|
|
142
|
+
"application/json": {
|
|
143
|
+
tx_id?: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
responses: {
|
|
148
|
+
/** @description OK */
|
|
149
|
+
200: {
|
|
150
|
+
headers: {
|
|
151
|
+
[name: string]: unknown;
|
|
152
|
+
};
|
|
153
|
+
content: {
|
|
154
|
+
"application/json": {
|
|
155
|
+
message?: string;
|
|
156
|
+
creditedTransaction?: components["schemas"]["CreditedPaymentTx"];
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
delete?: never;
|
|
163
|
+
options?: never;
|
|
164
|
+
head?: never;
|
|
165
|
+
patch?: never;
|
|
166
|
+
trace?: never;
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
export type webhooks = Record<string, never>;
|
|
170
|
+
export interface components {
|
|
171
|
+
schemas: {
|
|
172
|
+
/**
|
|
173
|
+
* @description A big number string representing an amount of credits in winc.
|
|
174
|
+
* @example 332824926
|
|
175
|
+
*/
|
|
176
|
+
Winc: string;
|
|
177
|
+
BalanceResponse: {
|
|
178
|
+
/** @description Total winc if all approvals are revoked */
|
|
179
|
+
controlledWinc?: string;
|
|
180
|
+
/** @description Total winc user can spend */
|
|
181
|
+
winc?: string;
|
|
182
|
+
/** @description Total winc including shared credits */
|
|
183
|
+
effectiveBalance?: string;
|
|
184
|
+
};
|
|
185
|
+
CreditResponse: {
|
|
186
|
+
winc?: components["schemas"]["Winc"];
|
|
187
|
+
adjustments?: Record<string, never>[];
|
|
188
|
+
};
|
|
189
|
+
PaymentCreditResponse: {
|
|
190
|
+
winc?: components["schemas"]["Winc"];
|
|
191
|
+
adjustments?: Record<string, never>[];
|
|
192
|
+
fees?: Record<string, never>[];
|
|
193
|
+
actualPaymentAmount?: number;
|
|
194
|
+
quotedPaymentAmount?: number;
|
|
195
|
+
};
|
|
196
|
+
CreditedPaymentTx: {
|
|
197
|
+
transactionId?: string;
|
|
198
|
+
transactionQuantity?: number;
|
|
199
|
+
winstonCreditAmount?: string;
|
|
200
|
+
winc?: string;
|
|
201
|
+
status?: string;
|
|
202
|
+
id?: string;
|
|
203
|
+
quantity?: string;
|
|
204
|
+
owner?: string;
|
|
205
|
+
target?: string;
|
|
206
|
+
block?: number;
|
|
207
|
+
confirmedBlocks?: number;
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
responses: never;
|
|
211
|
+
parameters: never;
|
|
212
|
+
requestBodies: never;
|
|
213
|
+
headers: never;
|
|
214
|
+
pathItems: never;
|
|
215
|
+
}
|
|
216
|
+
export type $defs = Record<string, never>;
|
|
217
|
+
export type operations = Record<string, never>;
|
|
218
|
+
//# sourceMappingURL=payment-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-service.d.ts","sourceRoot":"","sources":["../../../tests/types/payment-service.ts"],"names":[],"mappings":"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"}
|