0xtrails 0.13.0 → 0.13.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.
- package/dist/{ccip-Cg9-lJ6K.js → ccip-CT_An6eM.js} +39 -39
- package/dist/chains.d.ts +4 -3
- package/dist/chains.d.ts.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/customTokens.d.ts.map +1 -1
- package/dist/error.d.ts +1 -0
- package/dist/error.d.ts.map +1 -1
- package/dist/gasless.d.ts +1 -2
- package/dist/gasless.d.ts.map +1 -1
- package/dist/{index-DEojZg7b.js → index-RfqL5Foz.js} +56672 -43550
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +385 -333
- package/dist/intents.d.ts +8 -2
- package/dist/intents.d.ts.map +1 -1
- package/dist/keyMachineClient.d.ts +9 -0
- package/dist/keyMachineClient.d.ts.map +1 -0
- package/dist/keymachine/index.d.ts +14 -0
- package/dist/keymachine/index.d.ts.map +1 -0
- package/dist/keymachine/key-machine.gen.d.ts +461 -0
- package/dist/keymachine/key-machine.gen.d.ts.map +1 -0
- package/dist/onramp/MeshConnectFlow.d.ts +18 -0
- package/dist/onramp/MeshConnectFlow.d.ts.map +1 -0
- package/dist/onramp/MeshConnectIframe.d.ts +13 -0
- package/dist/onramp/MeshConnectIframe.d.ts.map +1 -0
- package/dist/onramp/SendFromExchangeButton.d.ts +16 -0
- package/dist/onramp/SendFromExchangeButton.d.ts.map +1 -0
- package/dist/onramp/TrailsOnRampProvider.d.ts +31 -0
- package/dist/onramp/TrailsOnRampProvider.d.ts.map +1 -0
- package/dist/onramp/index.d.ts +13 -0
- package/dist/onramp/index.d.ts.map +1 -0
- package/dist/onramp/meshconnect.d.ts +30 -0
- package/dist/onramp/meshconnect.d.ts.map +1 -0
- package/dist/onramp/trailsOnramp.d.ts +24 -0
- package/dist/onramp/trailsOnramp.d.ts.map +1 -0
- package/dist/onramp-client/index.d.ts +3 -3
- package/dist/onramp-client/index.d.ts.map +1 -1
- package/dist/paymasterSend.d.ts.map +1 -1
- package/dist/prepareSend.d.ts.map +1 -1
- package/dist/query/balance.fetchers.d.ts +31 -2
- package/dist/query/balance.fetchers.d.ts.map +1 -1
- package/dist/query/balance.hooks.d.ts +21 -2
- package/dist/query/balance.hooks.d.ts.map +1 -1
- package/dist/query/balance.queries.d.ts +18 -1
- package/dist/query/balance.queries.d.ts.map +1 -1
- package/dist/query/chains.queries.d.ts.map +1 -1
- package/dist/query/meld.fetchers.d.ts +1 -1
- package/dist/query/meld.fetchers.d.ts.map +1 -1
- package/dist/query/meld.hooks.d.ts +3 -3
- package/dist/query/meld.hooks.d.ts.map +1 -1
- package/dist/query/meld.queries.d.ts +1 -1
- package/dist/query/meld.queries.d.ts.map +1 -1
- package/dist/query/price.fetchers.d.ts +15 -0
- package/dist/query/price.fetchers.d.ts.map +1 -0
- package/dist/query/price.hooks.d.ts +352 -0
- package/dist/query/price.hooks.d.ts.map +1 -0
- package/dist/query/price.queries.d.ts +34 -0
- package/dist/query/price.queries.d.ts.map +1 -0
- package/dist/query/tokenList.queries.d.ts +54 -0
- package/dist/query/tokenList.queries.d.ts.map +1 -0
- package/dist/recover.d.ts +6 -4
- package/dist/recover.d.ts.map +1 -1
- package/dist/tokens.d.ts +13 -0
- package/dist/tokens.d.ts.map +1 -1
- package/dist/transactionIntent/deposits/depositOrchestrator.d.ts +2 -2
- package/dist/transactionIntent/deposits/depositOrchestrator.d.ts.map +1 -1
- package/dist/transactionIntent/deposits/gaslessDeposit.d.ts +2 -2
- package/dist/transactionIntent/deposits/gaslessDeposit.d.ts.map +1 -1
- package/dist/transactionIntent/deposits/standardDeposit.d.ts +1 -1
- package/dist/transactionIntent/deposits/standardDeposit.d.ts.map +1 -1
- package/dist/transactionIntent/handlers/intentHandler.d.ts.map +1 -1
- package/dist/transactionIntent/helpers/transactionStateHelpers.d.ts.map +1 -1
- package/dist/transactionIntent/quote/normalizeQuote.d.ts.map +1 -1
- package/dist/transactionIntent/types.d.ts +1 -1
- package/dist/transactionIntent/types.d.ts.map +1 -1
- package/dist/transactions.d.ts +4 -0
- package/dist/transactions.d.ts.map +1 -1
- package/dist/umd/trails.min.js +291 -202
- package/dist/utils/format.d.ts +7 -0
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/walletUtils.d.ts +2 -1
- package/dist/walletUtils.d.ts.map +1 -1
- package/dist/wallets.d.ts +13 -54
- package/dist/wallets.d.ts.map +1 -1
- package/dist/widget/components/AccountIntentTransactionHistory.d.ts.map +1 -1
- package/dist/widget/components/ClassicSwap.d.ts.map +1 -1
- package/dist/widget/components/ConnectWallet.d.ts.map +1 -1
- package/dist/widget/components/ConnectedWallets.d.ts.map +1 -1
- package/dist/widget/components/DirectTransfer.d.ts +1 -1
- package/dist/widget/components/DirectTransfer.d.ts.map +1 -1
- package/dist/widget/components/EarnPools.d.ts.map +1 -1
- package/dist/widget/components/ExecutionStatusBadge.d.ts.map +1 -1
- package/dist/widget/components/Fund.d.ts.map +1 -1
- package/dist/widget/components/FundMethods.d.ts.map +1 -1
- package/dist/widget/components/HighPriceImpactBlock.d.ts +7 -0
- package/dist/widget/components/HighPriceImpactBlock.d.ts.map +1 -0
- package/dist/widget/components/MeldHistory.d.ts.map +1 -1
- package/dist/widget/components/MeshExchangeSelection.d.ts +11 -0
- package/dist/widget/components/MeshExchangeSelection.d.ts.map +1 -0
- package/dist/widget/components/OnrampHistoryRow.d.ts +1 -1
- package/dist/widget/components/OnrampHistoryRow.d.ts.map +1 -1
- package/dist/widget/components/OnrampProviderConfirmation.d.ts.map +1 -1
- package/dist/widget/components/Pay.d.ts.map +1 -1
- package/dist/widget/components/PoolDeposit.d.ts.map +1 -1
- package/dist/widget/components/PoolWithdraw.d.ts.map +1 -1
- package/dist/widget/components/QRCodeWalletSelect.d.ts +1 -1
- package/dist/widget/components/QRCodeWalletSelect.d.ts.map +1 -1
- package/dist/widget/components/QuoteDetails.d.ts.map +1 -1
- package/dist/widget/components/Receipt.d.ts.map +1 -1
- package/dist/widget/components/Recipients.d.ts.map +1 -1
- package/dist/widget/components/RefundWarning.d.ts.map +1 -1
- package/dist/widget/components/TokenSelector.d.ts.map +1 -1
- package/dist/widget/components/TransactionDetails.d.ts.map +1 -1
- package/dist/widget/components/TransactionHistoryItem.d.ts +2 -0
- package/dist/widget/components/TransactionHistoryItem.d.ts.map +1 -1
- package/dist/widget/components/TransferPendingVertical.d.ts +1 -0
- package/dist/widget/components/TransferPendingVertical.d.ts.map +1 -1
- package/dist/widget/components/WaasFeeOptions.d.ts.map +1 -1
- package/dist/widget/components/WalletConnect.d.ts.map +1 -1
- package/dist/widget/components/WalletImage.d.ts.map +1 -1
- package/dist/widget/components/WalletList.d.ts.map +1 -1
- package/dist/widget/components/Withdraw.d.ts.map +1 -1
- package/dist/widget/css/compiled.css +1 -1
- package/dist/widget/hooks/useAddressWalletIcon.d.ts.map +1 -1
- package/dist/widget/hooks/useCombinedHistory.d.ts +6 -5
- package/dist/widget/hooks/useCombinedHistory.d.ts.map +1 -1
- package/dist/widget/hooks/useCustomTokenSearch.d.ts +6 -1
- package/dist/widget/hooks/useCustomTokenSearch.d.ts.map +1 -1
- package/dist/widget/hooks/useDefaultDestinationToken.d.ts.map +1 -1
- package/dist/widget/hooks/useDefaultOriginToken.d.ts.map +1 -1
- package/dist/widget/hooks/useFiatOnRampCurrencies.d.ts +1 -1
- package/dist/widget/hooks/useFiatOnRampCurrencies.d.ts.map +1 -1
- package/dist/widget/hooks/useGetIntent.d.ts +3 -2
- package/dist/widget/hooks/useGetIntent.d.ts.map +1 -1
- package/dist/widget/hooks/useIntentReceiptBalances.d.ts +1 -1
- package/dist/widget/hooks/useIntentReceiptBalances.d.ts.map +1 -1
- package/dist/widget/hooks/useIntentTransactionHistory.d.ts +3 -2
- package/dist/widget/hooks/useIntentTransactionHistory.d.ts.map +1 -1
- package/dist/widget/hooks/useMeldTransactionHistory.d.ts +1 -1
- package/dist/widget/hooks/useMeldTransactionHistory.d.ts.map +1 -1
- package/dist/widget/hooks/useMeldTransactionStatus.d.ts +1 -1
- package/dist/widget/hooks/useMeldTransactionStatus.d.ts.map +1 -1
- package/dist/widget/hooks/useOnRampQuote.d.ts +1 -1
- package/dist/widget/hooks/useOnRampQuote.d.ts.map +1 -1
- package/dist/widget/hooks/useOnRampTransactionStatus.d.ts +1 -1
- package/dist/widget/hooks/useOnRampTransactionStatus.d.ts.map +1 -1
- package/dist/widget/hooks/useQuote.d.ts +2 -2
- package/dist/widget/hooks/useQuote.d.ts.map +1 -1
- package/dist/widget/hooks/useSelectedFundMethod.d.ts +7 -0
- package/dist/widget/hooks/useSelectedFundMethod.d.ts.map +1 -1
- package/dist/widget/hooks/useSendForm.d.ts +0 -1
- package/dist/widget/hooks/useSendForm.d.ts.map +1 -1
- package/dist/widget/hooks/useTokenList.d.ts +7 -1
- package/dist/widget/hooks/useTokenList.d.ts.map +1 -1
- package/dist/widget/hooks/useViewManager.d.ts +1 -1
- package/dist/widget/hooks/useViewManager.d.ts.map +1 -1
- package/dist/widget/index.js +1 -1
- package/dist/widget/providers/TrailsProvider.d.ts +2 -0
- package/dist/widget/providers/TrailsProvider.d.ts.map +1 -1
- package/dist/widget/utils/createWagmiConfig.d.ts +2 -2
- package/dist/widget/utils/createWagmiConfig.d.ts.map +1 -1
- package/dist/widget/utils/fundMethodSwitchState.d.ts +1 -0
- package/dist/widget/utils/fundMethodSwitchState.d.ts.map +1 -1
- package/dist/widget/utils/historyFilters.d.ts +13 -0
- package/dist/widget/utils/historyFilters.d.ts.map +1 -0
- package/dist/widget/utils/meldProviderUtils.d.ts +1 -1
- package/dist/widget/utils/meldProviderUtils.d.ts.map +1 -1
- package/dist/widget/utils/meshSupportedTokens.d.ts +4 -0
- package/dist/widget/utils/meshSupportedTokens.d.ts.map +1 -0
- package/dist/widget/utils/onrampConfig.d.ts +11 -0
- package/dist/widget/utils/onrampConfig.d.ts.map +1 -0
- package/dist/widget/utils/statusLabel.d.ts +2 -0
- package/dist/widget/utils/statusLabel.d.ts.map +1 -0
- package/dist/widget/utils/trailsOnrampConfig.d.ts +18 -0
- package/dist/widget/utils/trailsOnrampConfig.d.ts.map +1 -0
- package/dist/widget/widget.d.ts +24 -8
- package/dist/widget/widget.d.ts.map +1 -1
- package/package.json +9 -7
- package/src/chains.ts +26 -9
- package/src/constants.ts +2 -0
- package/src/customTokens.ts +22 -7
- package/src/error.ts +7 -0
- package/src/gasless.ts +5 -2
- package/src/index.ts +8 -5
- package/src/intents.ts +56 -60
- package/src/keyMachineClient.ts +29 -0
- package/src/keymachine/index.ts +175 -0
- package/src/keymachine/key-machine.gen.ts +993 -0
- package/src/onramp/MeshConnectFlow.tsx +86 -0
- package/src/onramp/MeshConnectIframe.tsx +661 -0
- package/src/onramp/SendFromExchangeButton.tsx +81 -0
- package/src/onramp/TrailsOnRampProvider.tsx +59 -0
- package/src/onramp/index.ts +31 -0
- package/src/onramp/meshconnect.ts +277 -0
- package/src/onramp/trailsOnramp.tsx +130 -0
- package/src/onramp-client/index.ts +4 -6
- package/src/paymasterSend.ts +0 -5
- package/src/prepareSend.ts +45 -44
- package/src/query/balance.fetchers.ts +172 -17
- package/src/query/balance.hooks.ts +69 -6
- package/src/query/balance.queries.ts +63 -0
- package/src/query/chains.queries.ts +1 -6
- package/src/query/meld.fetchers.ts +1 -1
- package/src/query/meld.hooks.ts +1 -1
- package/src/query/meld.queries.ts +1 -1
- package/src/query/price.fetchers.ts +53 -0
- package/src/query/price.hooks.ts +46 -0
- package/src/query/price.queries.ts +364 -0
- package/src/query/tokenList.queries.ts +118 -0
- package/src/recover.ts +89 -26
- package/src/tokens.ts +108 -26
- package/src/transactionIntent/deposits/depositOrchestrator.ts +11 -11
- package/src/transactionIntent/deposits/gaslessDeposit.ts +38 -39
- package/src/transactionIntent/deposits/standardDeposit.ts +5 -30
- package/src/transactionIntent/handlers/intentHandler.ts +29 -12
- package/src/transactionIntent/helpers/transactionStateHelpers.ts +5 -2
- package/src/transactionIntent/quote/normalizeQuote.ts +11 -5
- package/src/transactionIntent/types.ts +1 -1
- package/src/transactions.ts +5 -1
- package/src/utils/format.ts +85 -1
- package/src/walletUtils.ts +2 -1
- package/src/wallets.ts +184 -380
- package/src/widget/compiled.css +1 -1
- package/src/widget/components/AccountIntentTransactionHistory.tsx +134 -109
- package/src/widget/components/ClassicSwap.tsx +26 -24
- package/src/widget/components/ConnectWallet.tsx +4 -2
- package/src/widget/components/ConnectedWallets.tsx +2 -5
- package/src/widget/components/DirectTransfer.tsx +5 -2
- package/src/widget/components/EarnPools.tsx +1 -2
- package/src/widget/components/ExecutionStatusBadge.tsx +10 -4
- package/src/widget/components/Fund.tsx +169 -110
- package/src/widget/components/FundMethods.tsx +5 -9
- package/src/widget/components/HighPriceImpactBlock.tsx +44 -0
- package/src/widget/components/MeldHistory.tsx +4 -28
- package/src/widget/components/MeshExchangeSelection.tsx +218 -0
- package/src/widget/components/OnrampHistoryRow.tsx +3 -27
- package/src/widget/components/OnrampProviderConfirmation.tsx +0 -25
- package/src/widget/components/Pay.tsx +20 -36
- package/src/widget/components/PoolDeposit.tsx +14 -24
- package/src/widget/components/PoolWithdraw.tsx +1 -63
- package/src/widget/components/QRCodeWalletSelect.tsx +5 -2
- package/src/widget/components/QuoteDetails.tsx +113 -106
- package/src/widget/components/Receipt.tsx +0 -11
- package/src/widget/components/Recipients.tsx +2 -1
- package/src/widget/components/RefundWarning.tsx +5 -10
- package/src/widget/components/ThemeProvider.tsx +4 -4
- package/src/widget/components/TokenSelector.tsx +85 -16
- package/src/widget/components/TransactionDetails.tsx +46 -0
- package/src/widget/components/TransactionHistoryItem.tsx +14 -23
- package/src/widget/components/TransferPendingVertical.tsx +17 -11
- package/src/widget/components/WaasFeeOptions.tsx +4 -42
- package/src/widget/components/WalletConnect.tsx +2 -5
- package/src/widget/components/WalletImage.tsx +6 -18
- package/src/widget/components/WalletList.tsx +1 -1
- package/src/widget/components/Withdraw.tsx +22 -23
- package/src/widget/hooks/useAddressWalletIcon.ts +2 -1
- package/src/widget/hooks/useAmountUsd.ts +1 -1
- package/src/widget/hooks/useCombinedHistory.ts +37 -93
- package/src/widget/hooks/useCustomTokenSearch.tsx +63 -33
- package/src/widget/hooks/useDefaultDestinationToken.tsx +2 -5
- package/src/widget/hooks/useDefaultOriginToken.tsx +2 -5
- package/src/widget/hooks/useFiatOnRampCurrencies.ts +1 -1
- package/src/widget/hooks/useGetIntent.ts +5 -4
- package/src/widget/hooks/useIntentReceiptBalances.ts +3 -3
- package/src/widget/hooks/useIntentTransactionHistory.ts +24 -47
- package/src/widget/hooks/useMeldTransactionHistory.ts +4 -2
- package/src/widget/hooks/useMeldTransactionStatus.ts +13 -11
- package/src/widget/hooks/useOnRampQuote.ts +3 -3
- package/src/widget/hooks/useOnRampTransactionStatus.ts +8 -6
- package/src/widget/hooks/useQuote.ts +56 -48
- package/src/widget/hooks/useSelectedFundMethod.tsx +14 -1
- package/src/widget/hooks/useSendForm.ts +52 -31
- package/src/widget/hooks/useTokenList.ts +209 -140
- package/src/widget/hooks/useTrailsSendTransaction.ts +1 -1
- package/src/widget/hooks/useViewManager.tsx +1 -0
- package/src/widget/providers/TrailsProvider.tsx +5 -0
- package/src/widget/styles.ts +1 -1
- package/src/widget/utils/createWagmiConfig.ts +7 -2
- package/src/widget/utils/fundMethodSwitchState.ts +2 -0
- package/src/widget/utils/historyFilters.ts +157 -0
- package/src/widget/utils/meldProviderUtils.ts +8 -2
- package/src/widget/utils/meshSupportedTokens.ts +28 -0
- package/src/widget/utils/onrampConfig.ts +15 -0
- package/src/widget/utils/statusLabel.ts +3 -0
- package/src/widget/utils/trailsOnrampConfig.ts +39 -0
- package/src/widget/widget.tsx +235 -185
- package/dist/onramp-client/trails-onramp.gen.d.ts +0 -570
- package/dist/onramp-client/trails-onramp.gen.d.ts.map +0 -1
- package/dist/prices.d.ts +0 -34
- package/dist/prices.d.ts.map +0 -1
- package/dist/useGasEstimation.d.ts +0 -34
- package/dist/useGasEstimation.d.ts.map +0 -1
- package/dist/widget/hooks/useCustomTokenFetch.d.ts +0 -19
- package/dist/widget/hooks/useCustomTokenFetch.d.ts.map +0 -1
- package/dist/widget/hooks/useTokenWithFreshBalance.d.ts +0 -18
- package/dist/widget/hooks/useTokenWithFreshBalance.d.ts.map +0 -1
- package/src/onramp-client/trails-onramp.gen.ts +0 -1320
- package/src/prices.ts +0 -528
- package/src/useGasEstimation.ts +0 -147
- package/src/widget/assets/Binance_Icon_Logo.svg +0 -14
- package/src/widget/assets/Bitfinex_Icon_Logo.svg +0 -5
- package/src/widget/assets/Coinbase_Icon_Logo.svg +0 -1
- package/src/widget/assets/WalletConnect-logo-blue-bg.svg +0 -11
- package/src/widget/assets/sequence-logo.svg +0 -15
- package/src/widget/hooks/useCustomTokenFetch.tsx +0 -74
- package/src/widget/hooks/useTokenWithFreshBalance.ts +0 -246
|
@@ -0,0 +1,993 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// key-machine v0.0.1 a036951ae19ad8eeb835c94a975a8671356773b5
|
|
3
|
+
// --
|
|
4
|
+
// Code generated by webrpc-gen@v0.22.1 with typescript generator. DO NOT EDIT.
|
|
5
|
+
//
|
|
6
|
+
// webrpc-gen -schema=key-machine.ridl -target=typescript -client -out=./clients/key-machine.gen.ts
|
|
7
|
+
|
|
8
|
+
export const WebrpcHeader = "Webrpc"
|
|
9
|
+
|
|
10
|
+
export const WebrpcHeaderValue = "webrpc@v0.22.1;gen-typescript@v0.16.2;key-machine@v0.0.1"
|
|
11
|
+
|
|
12
|
+
// WebRPC description and code-gen version
|
|
13
|
+
export const WebRPCVersion = "v1"
|
|
14
|
+
|
|
15
|
+
// Schema version of your RIDL schema
|
|
16
|
+
export const WebRPCSchemaVersion = "v0.0.1"
|
|
17
|
+
|
|
18
|
+
// Schema hash generated from your RIDL schema
|
|
19
|
+
export const WebRPCSchemaHash = "a036951ae19ad8eeb835c94a975a8671356773b5"
|
|
20
|
+
|
|
21
|
+
type WebrpcGenVersions = {
|
|
22
|
+
webrpcGenVersion: string;
|
|
23
|
+
codeGenName: string;
|
|
24
|
+
codeGenVersion: string;
|
|
25
|
+
schemaName: string;
|
|
26
|
+
schemaVersion: string;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export function VersionFromHeader(headers: Headers): WebrpcGenVersions {
|
|
30
|
+
const headerValue = headers.get(WebrpcHeader);
|
|
31
|
+
if (!headerValue) {
|
|
32
|
+
return {
|
|
33
|
+
webrpcGenVersion: "",
|
|
34
|
+
codeGenName: "",
|
|
35
|
+
codeGenVersion: "",
|
|
36
|
+
schemaName: "",
|
|
37
|
+
schemaVersion: "",
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return parseWebrpcGenVersions(headerValue);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function parseWebrpcGenVersions(header: string): WebrpcGenVersions {
|
|
45
|
+
const versions = header.split(";");
|
|
46
|
+
if (versions.length < 3) {
|
|
47
|
+
return {
|
|
48
|
+
webrpcGenVersion: "",
|
|
49
|
+
codeGenName: "",
|
|
50
|
+
codeGenVersion: "",
|
|
51
|
+
schemaName: "",
|
|
52
|
+
schemaVersion: "",
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const [_, webrpcGenVersion] = versions[0]!.split("@");
|
|
57
|
+
const [codeGenName, codeGenVersion] = versions[1]!.split("@");
|
|
58
|
+
const [schemaName, schemaVersion] = versions[2]!.split("@");
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
webrpcGenVersion: webrpcGenVersion ?? "",
|
|
62
|
+
codeGenName: codeGenName ?? "",
|
|
63
|
+
codeGenVersion: codeGenVersion ?? "",
|
|
64
|
+
schemaName: schemaName ?? "",
|
|
65
|
+
schemaVersion: schemaVersion ?? "",
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
//
|
|
70
|
+
// Types
|
|
71
|
+
//
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
export enum PayloadType {
|
|
75
|
+
Transactions = 'Transactions',
|
|
76
|
+
Message = 'Message',
|
|
77
|
+
ConfigUpdate = 'ConfigUpdate',
|
|
78
|
+
Digest = 'Digest'
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export enum SignatureType {
|
|
82
|
+
EIP712 = 'EIP712',
|
|
83
|
+
EthSign = 'EthSign',
|
|
84
|
+
EIP1271 = 'EIP1271',
|
|
85
|
+
Sapient = 'Sapient',
|
|
86
|
+
SapientCompact = 'SapientCompact'
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface RuntimeStatus {
|
|
90
|
+
healthy: boolean
|
|
91
|
+
started: string
|
|
92
|
+
uptime: number
|
|
93
|
+
version: string
|
|
94
|
+
branch: string
|
|
95
|
+
commit: string
|
|
96
|
+
arweave: ArweaveStatus
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export interface ArweaveStatus {
|
|
100
|
+
nodeURL: string
|
|
101
|
+
namespace: string
|
|
102
|
+
sender: string
|
|
103
|
+
signer: string
|
|
104
|
+
flushInterval: string
|
|
105
|
+
bundleDelay: string
|
|
106
|
+
bundleLimit: number
|
|
107
|
+
confirmations: number
|
|
108
|
+
lockTTL: string
|
|
109
|
+
healthy: boolean
|
|
110
|
+
lastFlush?: string
|
|
111
|
+
lastFlushSeconds?: number
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export interface Info {
|
|
115
|
+
wallets: {[key: string]: number}
|
|
116
|
+
configs: {[key: string]: number}
|
|
117
|
+
configTrees: number
|
|
118
|
+
trees: number
|
|
119
|
+
migrations: {[key: string]: number}
|
|
120
|
+
signatures: number
|
|
121
|
+
sapientSignatures: number
|
|
122
|
+
digests: number
|
|
123
|
+
payloads: number
|
|
124
|
+
recorder: RecorderInfo
|
|
125
|
+
arweave: ArweaveInfo
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export interface RecorderInfo {
|
|
129
|
+
requests: number
|
|
130
|
+
buffer: number
|
|
131
|
+
lastFlush?: string
|
|
132
|
+
lastFlushSeconds?: number
|
|
133
|
+
endpoints: {[key: string]: number}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export interface ArweaveInfo {
|
|
137
|
+
nodeURL: string
|
|
138
|
+
namespace: string
|
|
139
|
+
sender: ArweaveSenderInfo
|
|
140
|
+
signer: string
|
|
141
|
+
flushInterval: string
|
|
142
|
+
bundleDelay: string
|
|
143
|
+
bundleLimit: number
|
|
144
|
+
confirmations: number
|
|
145
|
+
lockTTL: string
|
|
146
|
+
healthy: boolean
|
|
147
|
+
lastFlush?: string
|
|
148
|
+
lastFlushSeconds?: number
|
|
149
|
+
bundles: number
|
|
150
|
+
pending: ArweavePendingInfo
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export interface ArweaveSenderInfo {
|
|
154
|
+
address: string
|
|
155
|
+
balance: string
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export interface ArweavePendingInfo {
|
|
159
|
+
wallets: number
|
|
160
|
+
configs: number
|
|
161
|
+
trees: number
|
|
162
|
+
migrations: number
|
|
163
|
+
signatures: number
|
|
164
|
+
sapientSignatures: number
|
|
165
|
+
payloads: number
|
|
166
|
+
bundles: Array<ArweaveBundleInfo>
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export interface ArweaveBundleInfo {
|
|
170
|
+
transaction: string
|
|
171
|
+
block: number
|
|
172
|
+
items: number
|
|
173
|
+
sentAt: string
|
|
174
|
+
confirmations: number
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export interface Context {
|
|
178
|
+
version: number
|
|
179
|
+
factory: string
|
|
180
|
+
mainModule: string
|
|
181
|
+
mainModuleUpgradable: string
|
|
182
|
+
guestModule: string
|
|
183
|
+
walletCreationCode: string
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export interface Signature {
|
|
187
|
+
digest?: string
|
|
188
|
+
payload?: any
|
|
189
|
+
toImageHash?: string
|
|
190
|
+
chainID: string
|
|
191
|
+
type: SignatureType
|
|
192
|
+
signature: string
|
|
193
|
+
sapientHash?: string
|
|
194
|
+
validOnChain?: string
|
|
195
|
+
validOnBlock?: string
|
|
196
|
+
validOnBlockHash?: string
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export interface SignerSignature {
|
|
200
|
+
signer?: string
|
|
201
|
+
signature: string
|
|
202
|
+
referenceChainID?: string
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export interface SignerSignature2 {
|
|
206
|
+
signer?: string
|
|
207
|
+
imageHash?: string
|
|
208
|
+
type: SignatureType
|
|
209
|
+
signature: string
|
|
210
|
+
referenceChainID?: string
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export interface ConfigUpdate {
|
|
214
|
+
toImageHash: string
|
|
215
|
+
signature: string
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export interface Transaction {
|
|
219
|
+
to: string
|
|
220
|
+
value?: string
|
|
221
|
+
data?: string
|
|
222
|
+
gasLimit?: string
|
|
223
|
+
delegateCall?: boolean
|
|
224
|
+
revertOnError?: boolean
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export interface TransactionBundle {
|
|
228
|
+
executor: string
|
|
229
|
+
transactions: Array<Transaction>
|
|
230
|
+
nonce: string
|
|
231
|
+
signature: string
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export interface KeyMachine {
|
|
235
|
+
ping(headers?: object, signal?: AbortSignal): Promise<PingReturn>
|
|
236
|
+
config(args: ConfigArgs, headers?: object, signal?: AbortSignal): Promise<ConfigReturn>
|
|
237
|
+
tree(args: TreeArgs, headers?: object, signal?: AbortSignal): Promise<TreeReturn>
|
|
238
|
+
payload(args: PayloadArgs, headers?: object, signal?: AbortSignal): Promise<PayloadReturn>
|
|
239
|
+
wallets(args: WalletsArgs, headers?: object, signal?: AbortSignal): Promise<WalletsReturn>
|
|
240
|
+
deployHash(args: DeployHashArgs, headers?: object, signal?: AbortSignal): Promise<DeployHashReturn>
|
|
241
|
+
witness(args: WitnessArgs, headers?: object, signal?: AbortSignal): Promise<WitnessReturn>
|
|
242
|
+
configUpdates(args: ConfigUpdatesArgs, headers?: object, signal?: AbortSignal): Promise<ConfigUpdatesReturn>
|
|
243
|
+
migrations(args: MigrationsArgs, headers?: object, signal?: AbortSignal): Promise<MigrationsReturn>
|
|
244
|
+
saveConfig(args: SaveConfigArgs, headers?: object, signal?: AbortSignal): Promise<SaveConfigReturn>
|
|
245
|
+
saveTree(args: SaveTreeArgs, headers?: object, signal?: AbortSignal): Promise<SaveTreeReturn>
|
|
246
|
+
savePayload(args: SavePayloadArgs, headers?: object, signal?: AbortSignal): Promise<SavePayloadReturn>
|
|
247
|
+
saveWallet(args: SaveWalletArgs, headers?: object, signal?: AbortSignal): Promise<SaveWalletReturn>
|
|
248
|
+
saveSignature(args: SaveSignatureArgs, headers?: object, signal?: AbortSignal): Promise<SaveSignatureReturn>
|
|
249
|
+
saveSignature2(args: SaveSignature2Args, headers?: object, signal?: AbortSignal): Promise<SaveSignature2Return>
|
|
250
|
+
saveSignerSignatures(args: SaveSignerSignaturesArgs, headers?: object, signal?: AbortSignal): Promise<SaveSignerSignaturesReturn>
|
|
251
|
+
saveSignerSignatures2(args: SaveSignerSignatures2Args, headers?: object, signal?: AbortSignal): Promise<SaveSignerSignatures2Return>
|
|
252
|
+
saveSignerSignatures3(args: SaveSignerSignatures3Args, headers?: object, signal?: AbortSignal): Promise<SaveSignerSignatures3Return>
|
|
253
|
+
saveMigration(args: SaveMigrationArgs, headers?: object, signal?: AbortSignal): Promise<SaveMigrationReturn>
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export interface PingArgs {
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
export interface PingReturn {
|
|
260
|
+
}
|
|
261
|
+
export interface ConfigArgs {
|
|
262
|
+
imageHash: string
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export interface ConfigReturn {
|
|
266
|
+
version: number
|
|
267
|
+
config: any
|
|
268
|
+
}
|
|
269
|
+
export interface TreeArgs {
|
|
270
|
+
imageHash: string
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
export interface TreeReturn {
|
|
274
|
+
version: number
|
|
275
|
+
tree: any
|
|
276
|
+
}
|
|
277
|
+
export interface PayloadArgs {
|
|
278
|
+
digest: string
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export interface PayloadReturn {
|
|
282
|
+
version: number
|
|
283
|
+
payload: any
|
|
284
|
+
wallet: string
|
|
285
|
+
chainID: string
|
|
286
|
+
}
|
|
287
|
+
export interface WalletsArgs {
|
|
288
|
+
signer: string
|
|
289
|
+
sapientHash?: string
|
|
290
|
+
cursor?: number
|
|
291
|
+
limit?: number
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
export interface WalletsReturn {
|
|
295
|
+
wallets: {[key: string]: Signature}
|
|
296
|
+
cursor: number
|
|
297
|
+
}
|
|
298
|
+
export interface DeployHashArgs {
|
|
299
|
+
wallet: string
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
export interface DeployHashReturn {
|
|
303
|
+
deployHash: string
|
|
304
|
+
context: Context
|
|
305
|
+
}
|
|
306
|
+
export interface WitnessArgs {
|
|
307
|
+
signer: string
|
|
308
|
+
wallet: string
|
|
309
|
+
sapientHash?: string
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export interface WitnessReturn {
|
|
313
|
+
witness: Signature
|
|
314
|
+
}
|
|
315
|
+
export interface ConfigUpdatesArgs {
|
|
316
|
+
wallet: string
|
|
317
|
+
fromImageHash: string
|
|
318
|
+
allUpdates?: boolean
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export interface ConfigUpdatesReturn {
|
|
322
|
+
updates: Array<ConfigUpdate>
|
|
323
|
+
}
|
|
324
|
+
export interface MigrationsArgs {
|
|
325
|
+
wallet: string
|
|
326
|
+
fromVersion: number
|
|
327
|
+
fromImageHash: string
|
|
328
|
+
chainID?: string
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
export interface MigrationsReturn {
|
|
332
|
+
migrations: {[key: string]: {[key: number]: {[key: string]: TransactionBundle}}}
|
|
333
|
+
}
|
|
334
|
+
export interface SaveConfigArgs {
|
|
335
|
+
version: number
|
|
336
|
+
config: any
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
export interface SaveConfigReturn {
|
|
340
|
+
}
|
|
341
|
+
export interface SaveTreeArgs {
|
|
342
|
+
version: number
|
|
343
|
+
tree: any
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
export interface SaveTreeReturn {
|
|
347
|
+
}
|
|
348
|
+
export interface SavePayloadArgs {
|
|
349
|
+
version: number
|
|
350
|
+
payload: any
|
|
351
|
+
wallet: string
|
|
352
|
+
chainID: string
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
export interface SavePayloadReturn {
|
|
356
|
+
}
|
|
357
|
+
export interface SaveWalletArgs {
|
|
358
|
+
version: number
|
|
359
|
+
deployConfig: any
|
|
360
|
+
context?: Context
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
export interface SaveWalletReturn {
|
|
364
|
+
}
|
|
365
|
+
export interface SaveSignatureArgs {
|
|
366
|
+
wallet: string
|
|
367
|
+
digest: string
|
|
368
|
+
chainID: string
|
|
369
|
+
signature: string
|
|
370
|
+
toConfig?: any
|
|
371
|
+
referenceChainID?: string
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
export interface SaveSignatureReturn {
|
|
375
|
+
}
|
|
376
|
+
export interface SaveSignature2Args {
|
|
377
|
+
wallet: string
|
|
378
|
+
payload: any
|
|
379
|
+
chainID: string
|
|
380
|
+
signature: string
|
|
381
|
+
toConfig?: any
|
|
382
|
+
referenceChainID?: string
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
export interface SaveSignature2Return {
|
|
386
|
+
}
|
|
387
|
+
export interface SaveSignerSignaturesArgs {
|
|
388
|
+
wallet: string
|
|
389
|
+
digest: string
|
|
390
|
+
chainID: string
|
|
391
|
+
signatures: Array<string>
|
|
392
|
+
toConfig?: any
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
export interface SaveSignerSignaturesReturn {
|
|
396
|
+
}
|
|
397
|
+
export interface SaveSignerSignatures2Args {
|
|
398
|
+
wallet: string
|
|
399
|
+
digest: string
|
|
400
|
+
chainID: string
|
|
401
|
+
signatures: Array<SignerSignature>
|
|
402
|
+
toConfig?: any
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
export interface SaveSignerSignatures2Return {
|
|
406
|
+
}
|
|
407
|
+
export interface SaveSignerSignatures3Args {
|
|
408
|
+
wallet: string
|
|
409
|
+
payload: any
|
|
410
|
+
chainID: string
|
|
411
|
+
signatures: Array<SignerSignature2>
|
|
412
|
+
toConfig?: any
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
export interface SaveSignerSignatures3Return {
|
|
416
|
+
}
|
|
417
|
+
export interface SaveMigrationArgs {
|
|
418
|
+
wallet: string
|
|
419
|
+
fromVersion: number
|
|
420
|
+
toVersion: number
|
|
421
|
+
toConfig: any
|
|
422
|
+
executor: string
|
|
423
|
+
transactions: Array<Transaction>
|
|
424
|
+
nonce: string
|
|
425
|
+
signature: string
|
|
426
|
+
chainID?: string
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
export interface SaveMigrationReturn {
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
//
|
|
435
|
+
// Client
|
|
436
|
+
//
|
|
437
|
+
export class KeyMachine implements KeyMachine {
|
|
438
|
+
protected hostname: string
|
|
439
|
+
protected fetch: Fetch
|
|
440
|
+
protected path = '/rpc/KeyMachine/'
|
|
441
|
+
|
|
442
|
+
constructor(hostname: string, fetch: Fetch) {
|
|
443
|
+
this.hostname = hostname.replace(/\/*$/, '')
|
|
444
|
+
this.fetch = (input: RequestInfo, init?: RequestInit) => fetch(input, init)
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
private url(name: string): string {
|
|
448
|
+
return this.hostname + this.path + name
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
ping = (headers?: object, signal?: AbortSignal): Promise<PingReturn> => {
|
|
452
|
+
return this.fetch(
|
|
453
|
+
this.url('Ping'),
|
|
454
|
+
createHTTPRequest({}, headers, signal)
|
|
455
|
+
).then((res) => {
|
|
456
|
+
return buildResponse(res).then(_data => {
|
|
457
|
+
return {}
|
|
458
|
+
})
|
|
459
|
+
}, (error) => {
|
|
460
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
461
|
+
})
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
config = (args: ConfigArgs, headers?: object, signal?: AbortSignal): Promise<ConfigReturn> => {
|
|
465
|
+
return this.fetch(
|
|
466
|
+
this.url('Config'),
|
|
467
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
468
|
+
return buildResponse(res).then(_data => {
|
|
469
|
+
return {
|
|
470
|
+
version: <number>(_data.version),
|
|
471
|
+
config: <any>(_data.config),
|
|
472
|
+
}
|
|
473
|
+
})
|
|
474
|
+
}, (error) => {
|
|
475
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
476
|
+
})
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
tree = (args: TreeArgs, headers?: object, signal?: AbortSignal): Promise<TreeReturn> => {
|
|
480
|
+
return this.fetch(
|
|
481
|
+
this.url('Tree'),
|
|
482
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
483
|
+
return buildResponse(res).then(_data => {
|
|
484
|
+
return {
|
|
485
|
+
version: <number>(_data.version),
|
|
486
|
+
tree: <any>(_data.tree),
|
|
487
|
+
}
|
|
488
|
+
})
|
|
489
|
+
}, (error) => {
|
|
490
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
491
|
+
})
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
payload = (args: PayloadArgs, headers?: object, signal?: AbortSignal): Promise<PayloadReturn> => {
|
|
495
|
+
return this.fetch(
|
|
496
|
+
this.url('Payload'),
|
|
497
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
498
|
+
return buildResponse(res).then(_data => {
|
|
499
|
+
return {
|
|
500
|
+
version: <number>(_data.version),
|
|
501
|
+
payload: <any>(_data.payload),
|
|
502
|
+
wallet: <string>(_data.wallet),
|
|
503
|
+
chainID: <string>(_data.chainID),
|
|
504
|
+
}
|
|
505
|
+
})
|
|
506
|
+
}, (error) => {
|
|
507
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
508
|
+
})
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
wallets = (args: WalletsArgs, headers?: object, signal?: AbortSignal): Promise<WalletsReturn> => {
|
|
512
|
+
return this.fetch(
|
|
513
|
+
this.url('Wallets'),
|
|
514
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
515
|
+
return buildResponse(res).then(_data => {
|
|
516
|
+
return {
|
|
517
|
+
wallets: <{[key: string]: Signature}>(_data.wallets),
|
|
518
|
+
cursor: <number>(_data.cursor),
|
|
519
|
+
}
|
|
520
|
+
})
|
|
521
|
+
}, (error) => {
|
|
522
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
523
|
+
})
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
deployHash = (args: DeployHashArgs, headers?: object, signal?: AbortSignal): Promise<DeployHashReturn> => {
|
|
527
|
+
return this.fetch(
|
|
528
|
+
this.url('DeployHash'),
|
|
529
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
530
|
+
return buildResponse(res).then(_data => {
|
|
531
|
+
return {
|
|
532
|
+
deployHash: <string>(_data.deployHash),
|
|
533
|
+
context: <Context>(_data.context),
|
|
534
|
+
}
|
|
535
|
+
})
|
|
536
|
+
}, (error) => {
|
|
537
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
538
|
+
})
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
witness = (args: WitnessArgs, headers?: object, signal?: AbortSignal): Promise<WitnessReturn> => {
|
|
542
|
+
return this.fetch(
|
|
543
|
+
this.url('Witness'),
|
|
544
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
545
|
+
return buildResponse(res).then(_data => {
|
|
546
|
+
return {
|
|
547
|
+
witness: <Signature>(_data.witness),
|
|
548
|
+
}
|
|
549
|
+
})
|
|
550
|
+
}, (error) => {
|
|
551
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
552
|
+
})
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
configUpdates = (args: ConfigUpdatesArgs, headers?: object, signal?: AbortSignal): Promise<ConfigUpdatesReturn> => {
|
|
556
|
+
return this.fetch(
|
|
557
|
+
this.url('ConfigUpdates'),
|
|
558
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
559
|
+
return buildResponse(res).then(_data => {
|
|
560
|
+
return {
|
|
561
|
+
updates: <Array<ConfigUpdate>>(_data.updates),
|
|
562
|
+
}
|
|
563
|
+
})
|
|
564
|
+
}, (error) => {
|
|
565
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
566
|
+
})
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
migrations = (args: MigrationsArgs, headers?: object, signal?: AbortSignal): Promise<MigrationsReturn> => {
|
|
570
|
+
return this.fetch(
|
|
571
|
+
this.url('Migrations'),
|
|
572
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
573
|
+
return buildResponse(res).then(_data => {
|
|
574
|
+
return {
|
|
575
|
+
migrations: <{[key: string]: {[key: number]: {[key: string]: TransactionBundle}}}>(_data.migrations),
|
|
576
|
+
}
|
|
577
|
+
})
|
|
578
|
+
}, (error) => {
|
|
579
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
580
|
+
})
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
saveConfig = (args: SaveConfigArgs, headers?: object, signal?: AbortSignal): Promise<SaveConfigReturn> => {
|
|
584
|
+
return this.fetch(
|
|
585
|
+
this.url('SaveConfig'),
|
|
586
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
587
|
+
return buildResponse(res).then(_data => {
|
|
588
|
+
return {}
|
|
589
|
+
})
|
|
590
|
+
}, (error) => {
|
|
591
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
592
|
+
})
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
saveTree = (args: SaveTreeArgs, headers?: object, signal?: AbortSignal): Promise<SaveTreeReturn> => {
|
|
596
|
+
return this.fetch(
|
|
597
|
+
this.url('SaveTree'),
|
|
598
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
599
|
+
return buildResponse(res).then(_data => {
|
|
600
|
+
return {}
|
|
601
|
+
})
|
|
602
|
+
}, (error) => {
|
|
603
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
604
|
+
})
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
savePayload = (args: SavePayloadArgs, headers?: object, signal?: AbortSignal): Promise<SavePayloadReturn> => {
|
|
608
|
+
return this.fetch(
|
|
609
|
+
this.url('SavePayload'),
|
|
610
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
611
|
+
return buildResponse(res).then(_data => {
|
|
612
|
+
return {}
|
|
613
|
+
})
|
|
614
|
+
}, (error) => {
|
|
615
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
616
|
+
})
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
saveWallet = (args: SaveWalletArgs, headers?: object, signal?: AbortSignal): Promise<SaveWalletReturn> => {
|
|
620
|
+
return this.fetch(
|
|
621
|
+
this.url('SaveWallet'),
|
|
622
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
623
|
+
return buildResponse(res).then(_data => {
|
|
624
|
+
return {}
|
|
625
|
+
})
|
|
626
|
+
}, (error) => {
|
|
627
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
628
|
+
})
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
saveSignature = (args: SaveSignatureArgs, headers?: object, signal?: AbortSignal): Promise<SaveSignatureReturn> => {
|
|
632
|
+
return this.fetch(
|
|
633
|
+
this.url('SaveSignature'),
|
|
634
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
635
|
+
return buildResponse(res).then(_data => {
|
|
636
|
+
return {}
|
|
637
|
+
})
|
|
638
|
+
}, (error) => {
|
|
639
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
640
|
+
})
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
saveSignature2 = (args: SaveSignature2Args, headers?: object, signal?: AbortSignal): Promise<SaveSignature2Return> => {
|
|
644
|
+
return this.fetch(
|
|
645
|
+
this.url('SaveSignature2'),
|
|
646
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
647
|
+
return buildResponse(res).then(_data => {
|
|
648
|
+
return {}
|
|
649
|
+
})
|
|
650
|
+
}, (error) => {
|
|
651
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
652
|
+
})
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
saveSignerSignatures = (args: SaveSignerSignaturesArgs, headers?: object, signal?: AbortSignal): Promise<SaveSignerSignaturesReturn> => {
|
|
656
|
+
return this.fetch(
|
|
657
|
+
this.url('SaveSignerSignatures'),
|
|
658
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
659
|
+
return buildResponse(res).then(_data => {
|
|
660
|
+
return {}
|
|
661
|
+
})
|
|
662
|
+
}, (error) => {
|
|
663
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
664
|
+
})
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
saveSignerSignatures2 = (args: SaveSignerSignatures2Args, headers?: object, signal?: AbortSignal): Promise<SaveSignerSignatures2Return> => {
|
|
668
|
+
return this.fetch(
|
|
669
|
+
this.url('SaveSignerSignatures2'),
|
|
670
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
671
|
+
return buildResponse(res).then(_data => {
|
|
672
|
+
return {}
|
|
673
|
+
})
|
|
674
|
+
}, (error) => {
|
|
675
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
676
|
+
})
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
saveSignerSignatures3 = (args: SaveSignerSignatures3Args, headers?: object, signal?: AbortSignal): Promise<SaveSignerSignatures3Return> => {
|
|
680
|
+
return this.fetch(
|
|
681
|
+
this.url('SaveSignerSignatures3'),
|
|
682
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
683
|
+
return buildResponse(res).then(_data => {
|
|
684
|
+
return {}
|
|
685
|
+
})
|
|
686
|
+
}, (error) => {
|
|
687
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
688
|
+
})
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
saveMigration = (args: SaveMigrationArgs, headers?: object, signal?: AbortSignal): Promise<SaveMigrationReturn> => {
|
|
692
|
+
return this.fetch(
|
|
693
|
+
this.url('SaveMigration'),
|
|
694
|
+
createHTTPRequest(args, headers, signal)).then((res) => {
|
|
695
|
+
return buildResponse(res).then(_data => {
|
|
696
|
+
return {}
|
|
697
|
+
})
|
|
698
|
+
}, (error) => {
|
|
699
|
+
throw WebrpcRequestFailedError.new({ cause: `fetch(): ${error.message || ''}` })
|
|
700
|
+
})
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
const createHTTPRequest = (body: object = {}, headers: object = {}, signal: AbortSignal | null = null): object => {
|
|
706
|
+
const reqHeaders: {[key: string]: string} = { ...headers, 'Content-Type': 'application/json' }
|
|
707
|
+
reqHeaders[WebrpcHeader] = WebrpcHeaderValue
|
|
708
|
+
|
|
709
|
+
return {
|
|
710
|
+
method: 'POST',
|
|
711
|
+
headers: reqHeaders,
|
|
712
|
+
body: JSON.stringify(body || {}),
|
|
713
|
+
signal
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
const buildResponse = (res: Response): Promise<any> => {
|
|
718
|
+
return res.text().then(text => {
|
|
719
|
+
let data
|
|
720
|
+
try {
|
|
721
|
+
data = JSON.parse(text)
|
|
722
|
+
} catch(error) {
|
|
723
|
+
let message = ''
|
|
724
|
+
if (error instanceof Error) {
|
|
725
|
+
message = error.message
|
|
726
|
+
}
|
|
727
|
+
throw WebrpcBadResponseError.new({
|
|
728
|
+
status: res.status,
|
|
729
|
+
cause: `JSON.parse(): ${message}: response text: ${text}`},
|
|
730
|
+
)
|
|
731
|
+
}
|
|
732
|
+
if (!res.ok) {
|
|
733
|
+
const code: number = (typeof data.code === 'number') ? data.code : 0
|
|
734
|
+
throw (webrpcErrorByCode[code] || WebrpcError).new(data)
|
|
735
|
+
}
|
|
736
|
+
return data
|
|
737
|
+
})
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
//
|
|
741
|
+
// Errors
|
|
742
|
+
//
|
|
743
|
+
|
|
744
|
+
export class WebrpcError extends Error {
|
|
745
|
+
name: string
|
|
746
|
+
code: number
|
|
747
|
+
message: string
|
|
748
|
+
status: number
|
|
749
|
+
cause?: string
|
|
750
|
+
|
|
751
|
+
/** @deprecated Use message instead of msg. Deprecated in webrpc v0.11.0. */
|
|
752
|
+
msg: string
|
|
753
|
+
|
|
754
|
+
constructor(name: string, code: number, message: string, status: number, cause?: string) {
|
|
755
|
+
super(message)
|
|
756
|
+
this.name = name || 'WebrpcError'
|
|
757
|
+
this.code = typeof code === 'number' ? code : 0
|
|
758
|
+
this.message = message || `endpoint error ${this.code}`
|
|
759
|
+
this.msg = this.message
|
|
760
|
+
this.status = typeof status === 'number' ? status : 0
|
|
761
|
+
this.cause = cause
|
|
762
|
+
Object.setPrototypeOf(this, WebrpcError.prototype)
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
static new(payload: any): WebrpcError {
|
|
766
|
+
return new this(payload.error, payload.code, payload.message || payload.msg, payload.status, payload.cause)
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
// Webrpc errors
|
|
771
|
+
|
|
772
|
+
export class WebrpcEndpointError extends WebrpcError {
|
|
773
|
+
constructor(
|
|
774
|
+
name: string = 'WebrpcEndpoint',
|
|
775
|
+
code: number = 0,
|
|
776
|
+
message: string = `endpoint error`,
|
|
777
|
+
status: number = 0,
|
|
778
|
+
cause?: string
|
|
779
|
+
) {
|
|
780
|
+
super(name, code, message, status, cause)
|
|
781
|
+
Object.setPrototypeOf(this, WebrpcEndpointError.prototype)
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
export class WebrpcRequestFailedError extends WebrpcError {
|
|
786
|
+
constructor(
|
|
787
|
+
name: string = 'WebrpcRequestFailed',
|
|
788
|
+
code: number = -1,
|
|
789
|
+
message: string = `request failed`,
|
|
790
|
+
status: number = 0,
|
|
791
|
+
cause?: string
|
|
792
|
+
) {
|
|
793
|
+
super(name, code, message, status, cause)
|
|
794
|
+
Object.setPrototypeOf(this, WebrpcRequestFailedError.prototype)
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
export class WebrpcBadRouteError extends WebrpcError {
|
|
799
|
+
constructor(
|
|
800
|
+
name: string = 'WebrpcBadRoute',
|
|
801
|
+
code: number = -2,
|
|
802
|
+
message: string = `bad route`,
|
|
803
|
+
status: number = 0,
|
|
804
|
+
cause?: string
|
|
805
|
+
) {
|
|
806
|
+
super(name, code, message, status, cause)
|
|
807
|
+
Object.setPrototypeOf(this, WebrpcBadRouteError.prototype)
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
export class WebrpcBadMethodError extends WebrpcError {
|
|
812
|
+
constructor(
|
|
813
|
+
name: string = 'WebrpcBadMethod',
|
|
814
|
+
code: number = -3,
|
|
815
|
+
message: string = `bad method`,
|
|
816
|
+
status: number = 0,
|
|
817
|
+
cause?: string
|
|
818
|
+
) {
|
|
819
|
+
super(name, code, message, status, cause)
|
|
820
|
+
Object.setPrototypeOf(this, WebrpcBadMethodError.prototype)
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
export class WebrpcBadRequestError extends WebrpcError {
|
|
825
|
+
constructor(
|
|
826
|
+
name: string = 'WebrpcBadRequest',
|
|
827
|
+
code: number = -4,
|
|
828
|
+
message: string = `bad request`,
|
|
829
|
+
status: number = 0,
|
|
830
|
+
cause?: string
|
|
831
|
+
) {
|
|
832
|
+
super(name, code, message, status, cause)
|
|
833
|
+
Object.setPrototypeOf(this, WebrpcBadRequestError.prototype)
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
export class WebrpcBadResponseError extends WebrpcError {
|
|
838
|
+
constructor(
|
|
839
|
+
name: string = 'WebrpcBadResponse',
|
|
840
|
+
code: number = -5,
|
|
841
|
+
message: string = `bad response`,
|
|
842
|
+
status: number = 0,
|
|
843
|
+
cause?: string
|
|
844
|
+
) {
|
|
845
|
+
super(name, code, message, status, cause)
|
|
846
|
+
Object.setPrototypeOf(this, WebrpcBadResponseError.prototype)
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
export class WebrpcServerPanicError extends WebrpcError {
|
|
851
|
+
constructor(
|
|
852
|
+
name: string = 'WebrpcServerPanic',
|
|
853
|
+
code: number = -6,
|
|
854
|
+
message: string = `server panic`,
|
|
855
|
+
status: number = 0,
|
|
856
|
+
cause?: string
|
|
857
|
+
) {
|
|
858
|
+
super(name, code, message, status, cause)
|
|
859
|
+
Object.setPrototypeOf(this, WebrpcServerPanicError.prototype)
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
export class WebrpcInternalErrorError extends WebrpcError {
|
|
864
|
+
constructor(
|
|
865
|
+
name: string = 'WebrpcInternalError',
|
|
866
|
+
code: number = -7,
|
|
867
|
+
message: string = `internal error`,
|
|
868
|
+
status: number = 0,
|
|
869
|
+
cause?: string
|
|
870
|
+
) {
|
|
871
|
+
super(name, code, message, status, cause)
|
|
872
|
+
Object.setPrototypeOf(this, WebrpcInternalErrorError.prototype)
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
export class WebrpcClientDisconnectedError extends WebrpcError {
|
|
877
|
+
constructor(
|
|
878
|
+
name: string = 'WebrpcClientDisconnected',
|
|
879
|
+
code: number = -8,
|
|
880
|
+
message: string = `client disconnected`,
|
|
881
|
+
status: number = 0,
|
|
882
|
+
cause?: string
|
|
883
|
+
) {
|
|
884
|
+
super(name, code, message, status, cause)
|
|
885
|
+
Object.setPrototypeOf(this, WebrpcClientDisconnectedError.prototype)
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
export class WebrpcStreamLostError extends WebrpcError {
|
|
890
|
+
constructor(
|
|
891
|
+
name: string = 'WebrpcStreamLost',
|
|
892
|
+
code: number = -9,
|
|
893
|
+
message: string = `stream lost`,
|
|
894
|
+
status: number = 0,
|
|
895
|
+
cause?: string
|
|
896
|
+
) {
|
|
897
|
+
super(name, code, message, status, cause)
|
|
898
|
+
Object.setPrototypeOf(this, WebrpcStreamLostError.prototype)
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
export class WebrpcStreamFinishedError extends WebrpcError {
|
|
903
|
+
constructor(
|
|
904
|
+
name: string = 'WebrpcStreamFinished',
|
|
905
|
+
code: number = -10,
|
|
906
|
+
message: string = `stream finished`,
|
|
907
|
+
status: number = 0,
|
|
908
|
+
cause?: string
|
|
909
|
+
) {
|
|
910
|
+
super(name, code, message, status, cause)
|
|
911
|
+
Object.setPrototypeOf(this, WebrpcStreamFinishedError.prototype)
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
// Schema errors
|
|
917
|
+
|
|
918
|
+
export class InvalidArgumentError extends WebrpcError {
|
|
919
|
+
constructor(
|
|
920
|
+
name: string = 'InvalidArgument',
|
|
921
|
+
code: number = 1,
|
|
922
|
+
message: string = `invalid argument`,
|
|
923
|
+
status: number = 0,
|
|
924
|
+
cause?: string
|
|
925
|
+
) {
|
|
926
|
+
super(name, code, message, status, cause)
|
|
927
|
+
Object.setPrototypeOf(this, InvalidArgumentError.prototype)
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
export class NotFoundError extends WebrpcError {
|
|
932
|
+
constructor(
|
|
933
|
+
name: string = 'NotFound',
|
|
934
|
+
code: number = 2,
|
|
935
|
+
message: string = `not found`,
|
|
936
|
+
status: number = 0,
|
|
937
|
+
cause?: string
|
|
938
|
+
) {
|
|
939
|
+
super(name, code, message, status, cause)
|
|
940
|
+
Object.setPrototypeOf(this, NotFoundError.prototype)
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
|
|
945
|
+
export enum errors {
|
|
946
|
+
WebrpcEndpoint = 'WebrpcEndpoint',
|
|
947
|
+
WebrpcRequestFailed = 'WebrpcRequestFailed',
|
|
948
|
+
WebrpcBadRoute = 'WebrpcBadRoute',
|
|
949
|
+
WebrpcBadMethod = 'WebrpcBadMethod',
|
|
950
|
+
WebrpcBadRequest = 'WebrpcBadRequest',
|
|
951
|
+
WebrpcBadResponse = 'WebrpcBadResponse',
|
|
952
|
+
WebrpcServerPanic = 'WebrpcServerPanic',
|
|
953
|
+
WebrpcInternalError = 'WebrpcInternalError',
|
|
954
|
+
WebrpcClientDisconnected = 'WebrpcClientDisconnected',
|
|
955
|
+
WebrpcStreamLost = 'WebrpcStreamLost',
|
|
956
|
+
WebrpcStreamFinished = 'WebrpcStreamFinished',
|
|
957
|
+
InvalidArgument = 'InvalidArgument',
|
|
958
|
+
NotFound = 'NotFound',
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
export enum WebrpcErrorCodes {
|
|
962
|
+
WebrpcEndpoint = 0,
|
|
963
|
+
WebrpcRequestFailed = -1,
|
|
964
|
+
WebrpcBadRoute = -2,
|
|
965
|
+
WebrpcBadMethod = -3,
|
|
966
|
+
WebrpcBadRequest = -4,
|
|
967
|
+
WebrpcBadResponse = -5,
|
|
968
|
+
WebrpcServerPanic = -6,
|
|
969
|
+
WebrpcInternalError = -7,
|
|
970
|
+
WebrpcClientDisconnected = -8,
|
|
971
|
+
WebrpcStreamLost = -9,
|
|
972
|
+
WebrpcStreamFinished = -10,
|
|
973
|
+
InvalidArgument = 1,
|
|
974
|
+
NotFound = 2,
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
export const webrpcErrorByCode: { [code: number]: any } = {
|
|
978
|
+
[0]: WebrpcEndpointError,
|
|
979
|
+
[-1]: WebrpcRequestFailedError,
|
|
980
|
+
[-2]: WebrpcBadRouteError,
|
|
981
|
+
[-3]: WebrpcBadMethodError,
|
|
982
|
+
[-4]: WebrpcBadRequestError,
|
|
983
|
+
[-5]: WebrpcBadResponseError,
|
|
984
|
+
[-6]: WebrpcServerPanicError,
|
|
985
|
+
[-7]: WebrpcInternalErrorError,
|
|
986
|
+
[-8]: WebrpcClientDisconnectedError,
|
|
987
|
+
[-9]: WebrpcStreamLostError,
|
|
988
|
+
[-10]: WebrpcStreamFinishedError,
|
|
989
|
+
[1]: InvalidArgumentError,
|
|
990
|
+
[2]: NotFoundError,
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
export type Fetch = (input: RequestInfo, init?: RequestInit) => Promise<Response>
|