@railgun-community/shared-models 5.1.9 → 5.1.11
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/models/response-types.d.ts +9 -0
- package/dist/models/response-types.js.map +1 -1
- package/dist/utils/fallback-provider.js +1 -1
- package/dist/utils/fallback-provider.js.map +1 -1
- package/dist/utils/polling-json-rpc-provider.d.ts +2 -2
- package/dist/utils/polling-json-rpc-provider.js +4 -1
- package/dist/utils/polling-json-rpc-provider.js.map +1 -1
- package/package.json +1 -1
|
@@ -90,6 +90,15 @@ export declare enum NFTTokenType {
|
|
|
90
90
|
ERC721 = 1,
|
|
91
91
|
ERC1155 = 2
|
|
92
92
|
}
|
|
93
|
+
export declare type NFTAmount = {
|
|
94
|
+
nftAddress: string;
|
|
95
|
+
nftTokenType: NFTTokenType;
|
|
96
|
+
tokenSubID: string;
|
|
97
|
+
amountString: bigint;
|
|
98
|
+
};
|
|
99
|
+
export declare type NFTAmountRecipient = NFTAmount & {
|
|
100
|
+
recipientAddress: string;
|
|
101
|
+
};
|
|
93
102
|
export declare type RailgunNFTAmount = {
|
|
94
103
|
nftAddress: string;
|
|
95
104
|
nftTokenType: NFTTokenType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-types.js","sourceRoot":"","sources":["../../src/models/response-types.ts"],"names":[],"mappings":";;;AAUA;;;GAGG;AACH,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,6CAAS,CAAA;IACT,6CAAS,CAAA;AACX,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AA+BD,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,uCAAO,CAAA;AACT,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAyDD;;GAEG;AACH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,mDAAU,CAAA;IACV,qDAAW,CAAA;AACb,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;
|
|
1
|
+
{"version":3,"file":"response-types.js","sourceRoot":"","sources":["../../src/models/response-types.ts"],"names":[],"mappings":";;;AAUA;;;GAGG;AACH,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,6CAAS,CAAA;IACT,6CAAS,CAAA;AACX,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AA+BD,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,uCAAO,CAAA;AACT,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAyDD;;GAEG;AACH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,mDAAU,CAAA;IACV,qDAAW,CAAA;AACb,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAqED,IAAY,8BAMX;AAND,WAAY,8BAA8B;IACxC,+DAA6B,CAAA;IAC7B,mEAAiC,CAAA;IACjC,2EAAyC,CAAA;IACzC,iFAA+C,CAAA;IAC/C,qDAAmB,CAAA;AACrB,CAAC,EANW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAMzC","sourcesContent":["/// <reference types=\"../types/global\" />\nimport { ContractTransaction } from 'ethers';\nimport { MerkletreeScanStatus } from './merkletree-scan';\nimport { FeesSerialized } from './network-config';\n\nexport type RailgunAPICiphertext = {\n iv: string;\n data: string[];\n};\n\n/**\n * Type0 / Type1 = non-EIP-1559 (gasPrice).\n * Type2 = EIP-1559 (maxFeePerGas and maxPriorityFeePerGas).\n */\nexport enum EVMGasType {\n Type0 = 0,\n Type1 = 1,\n Type2 = 2,\n}\n\nexport type TransactionGasDetails =\n | TransactionGasDetailsType0\n | TransactionGasDetailsType1\n | TransactionGasDetailsType2;\n\nexport type TransactionGasDetailsType0 = {\n evmGasType: EVMGasType.Type0;\n gasEstimate: bigint;\n gasPrice: bigint;\n};\n\nexport type TransactionGasDetailsType1 = {\n evmGasType: EVMGasType.Type1;\n gasEstimate: bigint;\n gasPrice: bigint;\n};\n\nexport type TransactionGasDetailsType2 = {\n evmGasType: EVMGasType.Type2;\n gasEstimate: bigint;\n maxFeePerGas: bigint;\n maxPriorityFeePerGas: bigint;\n};\n\nexport type FeeTokenDetails = {\n tokenAddress: string;\n feePerUnitGas: bigint;\n};\n\nexport enum ChainType {\n EVM = 0,\n}\n\nexport type Chain = {\n type: ChainType;\n id: number;\n};\n\nexport type RailgunBalancesEvent = {\n chain: Chain;\n erc20Amounts: RailgunERC20Amount[];\n nftAmounts: RailgunNFTAmount[];\n railgunWalletID: string;\n};\n\nexport type MerkletreeScanUpdateEvent = {\n chain: Chain;\n scanStatus: MerkletreeScanStatus;\n progress: number;\n};\n\nexport type LoadProviderResponse = {\n feesSerialized: FeesSerialized;\n};\n\nexport type RailgunWalletInfo = {\n id: string;\n railgunAddress: string;\n};\n\nexport type RailgunWalletAddressData = {\n masterPublicKey: bigint;\n viewingPublicKey: bigint;\n};\n\nexport type RailgunTxidFromNullifiersResponse = {\n txid?: string;\n};\n\nexport type RailgunPopulateTransactionResponse = {\n transaction: ContractTransaction;\n nullifiers?: string[];\n};\n\nexport type RailgunTransactionGasEstimateResponse = {\n gasEstimate: bigint;\n relayerFeeCommitment?: CommitmentSummary;\n};\n\nexport type RailgunERC20Amount = {\n tokenAddress: string;\n amount: bigint;\n};\n\nexport type RailgunERC20AmountRecipient = RailgunERC20Amount & {\n recipientAddress: string;\n};\n\n/**\n * Synced NFT types from TokenType (@railgun-community/engine).\n */\nexport enum NFTTokenType {\n ERC721 = 1,\n ERC1155 = 2,\n}\n\nexport type NFTAmount = {\n nftAddress: string;\n nftTokenType: NFTTokenType;\n tokenSubID: string;\n amountString: bigint;\n};\n\nexport type NFTAmountRecipient = NFTAmount & {\n recipientAddress: string;\n};\n\nexport type RailgunNFTAmount = {\n nftAddress: string;\n nftTokenType: NFTTokenType;\n tokenSubID: string;\n amount: bigint;\n};\n\nexport type RailgunNFTAmountRecipient = RailgunNFTAmount & {\n recipientAddress: string;\n};\n\nexport type EncryptDataWithSharedKeyResponse = {\n encryptedData: [string, string];\n randomPubKey: string;\n sharedKey: Uint8Array;\n};\n\nexport type EncryptDataWithSharedKeySerialized = {\n encryptedData: [string, string];\n randomPubKey: string;\n sharedKey: string;\n};\n\nexport type Pbkdf2Response = string;\n\ntype SendAdditionalData = {\n recipientAddress: Optional<string>;\n walletSource: Optional<string>;\n memoText: Optional<string>;\n};\n\nexport type RailgunSendERC20Amount = RailgunERC20Amount & SendAdditionalData;\n\nexport type RailgunSendNFTAmount = RailgunNFTAmount & SendAdditionalData;\n\ntype UnshieldAdditonalData = {\n unshieldFee: Optional<string>;\n};\n\nexport type RailgunUnshieldERC20Amount = RailgunSendERC20Amount &\n UnshieldAdditonalData;\n\nexport type RailgunUnshieldNFTAmount = RailgunSendNFTAmount &\n UnshieldAdditonalData;\n\ntype ReceiveAdditionalData = {\n senderAddress: Optional<string>;\n memoText: Optional<string>;\n shieldFee: Optional<string>;\n};\n\nexport type RailgunReceiveERC20Amount = RailgunERC20Amount &\n ReceiveAdditionalData;\n\nexport type RailgunReceiveNFTAmount = RailgunNFTAmount & ReceiveAdditionalData;\n\nexport enum TransactionHistoryItemCategory {\n ShieldERC20s = 'ShieldERC20s',\n UnshieldERC20s = 'UnshieldERC20s',\n TransferSendERC20s = 'TransferSendERC20s',\n TransferReceiveERC20s = 'TransferReceiveERC20s',\n Unknown = 'Unknown',\n}\n\nexport type TransactionHistoryItem = {\n txid: string;\n version: number;\n timestamp: Optional<number>;\n blockNumber: Optional<number>;\n receiveERC20Amounts: RailgunReceiveERC20Amount[];\n transferERC20Amounts: RailgunSendERC20Amount[];\n changeERC20Amounts: RailgunERC20Amount[];\n relayerFeeERC20Amount?: RailgunERC20Amount;\n unshieldERC20Amounts: RailgunUnshieldERC20Amount[];\n receiveNFTAmounts: RailgunReceiveNFTAmount[];\n transferNFTAmounts: RailgunSendNFTAmount[];\n unshieldNFTAmounts: RailgunUnshieldNFTAmount[];\n category: TransactionHistoryItemCategory;\n};\n\ntype Ciphertext = {\n iv: string;\n tag: string;\n data: string[];\n};\n\nexport type CommitmentCiphertext = {\n ciphertext: Ciphertext;\n blindedSenderViewingKey: string;\n blindedReceiverViewingKey: string;\n annotationData: string;\n memo: string;\n};\n\nexport type CommitmentSummary = {\n commitmentCiphertext: CommitmentCiphertext;\n commitmentHash: string;\n};\n"]}
|
|
@@ -4,8 +4,8 @@ exports.createFallbackProviderFromJsonConfig = void 0;
|
|
|
4
4
|
const ethers_1 = require("ethers");
|
|
5
5
|
const polling_json_rpc_provider_1 = require("./polling-json-rpc-provider");
|
|
6
6
|
const createFallbackProviderFromJsonConfig = (config) => {
|
|
7
|
-
const network = Number(config.chainId);
|
|
8
7
|
try {
|
|
8
|
+
const network = ethers_1.Network.from(Number(config.chainId));
|
|
9
9
|
const providers = config.providers.map(json => {
|
|
10
10
|
const isWebsocket = json.provider.startsWith('wss');
|
|
11
11
|
const provider = isWebsocket
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fallback-provider.js","sourceRoot":"","sources":["../../src/utils/fallback-provider.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"fallback-provider.js","sourceRoot":"","sources":["../../src/utils/fallback-provider.ts"],"names":[],"mappings":";;;AAAA,mCAAsE;AACtE,2EAAqE;AAe9D,MAAM,oCAAoC,GAAG,CAClD,MAAkC,EAChB,EAAE;IACpB,IAAI;QACF,MAAM,OAAO,GAAG,gBAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,WAAW;gBAC1B,CAAC,CAAC,IAAI,0BAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAC/C,CAAC,CAAC,IAAI,kDAAsB,CACxB,IAAI,CAAC,QAAQ,EACb,OAAO,EACP,IAAI,CAAC,eAAe,CACrB,CAAC;YACN,OAAO;gBACL,GAAG,IAAI;gBACP,QAAQ;aACT,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,yBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KACjD;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE;YAC3B,MAAM,GAAG,CAAC;SACX;QACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;KACrE;AACH,CAAC,CAAC;AA1BW,QAAA,oCAAoC,wCA0B/C","sourcesContent":["import { FallbackProvider, Network, WebSocketProvider } from 'ethers';\nimport { PollingJsonRpcProvider } from './polling-json-rpc-provider';\n\nexport type FallbackProviderJsonConfig = {\n chainId: number;\n providers: ProviderJson[];\n};\n\nexport type ProviderJson = {\n priority: number;\n weight: number;\n provider: string;\n stallTimeout?: number;\n disableBatching?: boolean;\n};\n\nexport const createFallbackProviderFromJsonConfig = (\n config: FallbackProviderJsonConfig,\n): FallbackProvider => {\n try {\n const network = Network.from(Number(config.chainId));\n const providers = config.providers.map(json => {\n const isWebsocket = json.provider.startsWith('wss');\n const provider = isWebsocket\n ? new WebSocketProvider(json.provider, network)\n : new PollingJsonRpcProvider(\n json.provider,\n network,\n json.disableBatching,\n );\n return {\n ...json,\n provider,\n };\n });\n return new FallbackProvider(providers, network);\n } catch (err) {\n if (!(err instanceof Error)) {\n throw err;\n }\n throw new Error(`Invalid fallback provider config: ${err.message}`);\n }\n};\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { JsonRpcProvider,
|
|
1
|
+
import { JsonRpcProvider, Network } from 'ethers';
|
|
2
2
|
/**
|
|
3
3
|
* Uses a setting in JsonRpcProvider to poll for events,
|
|
4
4
|
* rather than using sparsely-implemented eth_filter events.
|
|
5
5
|
*/
|
|
6
6
|
export declare class PollingJsonRpcProvider extends JsonRpcProvider {
|
|
7
|
-
constructor(url: string, network:
|
|
7
|
+
constructor(url: string, network: Network, disableBatching?: boolean);
|
|
8
8
|
}
|
|
@@ -8,7 +8,10 @@ const ethers_1 = require("ethers");
|
|
|
8
8
|
*/
|
|
9
9
|
class PollingJsonRpcProvider extends ethers_1.JsonRpcProvider {
|
|
10
10
|
constructor(url, network, disableBatching = false) {
|
|
11
|
-
const options = {
|
|
11
|
+
const options = {
|
|
12
|
+
polling: true,
|
|
13
|
+
staticNetwork: network,
|
|
14
|
+
};
|
|
12
15
|
if (disableBatching) {
|
|
13
16
|
options.batchMaxCount = 1;
|
|
14
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling-json-rpc-provider.js","sourceRoot":"","sources":["../../src/utils/polling-json-rpc-provider.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"polling-json-rpc-provider.js","sourceRoot":"","sources":["../../src/utils/polling-json-rpc-provider.ts"],"names":[],"mappings":";;;AAAA,mCAA6E;AAE7E;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,wBAAe;IACzD,YAAY,GAAW,EAAE,OAAgB,EAAE,eAAe,GAAG,KAAK;QAChE,MAAM,OAAO,GAA8B;YACzC,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,OAAO;SACvB,CAAC;QACF,IAAI,eAAe,EAAE;YACnB,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;SAC3B;QACD,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF;AAXD,wDAWC","sourcesContent":["import { JsonRpcProvider, JsonRpcApiProviderOptions, Network } from 'ethers';\n\n/**\n * Uses a setting in JsonRpcProvider to poll for events,\n * rather than using sparsely-implemented eth_filter events.\n */\nexport class PollingJsonRpcProvider extends JsonRpcProvider {\n constructor(url: string, network: Network, disableBatching = false) {\n const options: JsonRpcApiProviderOptions = {\n polling: true,\n staticNetwork: network,\n };\n if (disableBatching) {\n options.batchMaxCount = 1;\n }\n super(url, network, options);\n }\n}\n"]}
|