@upcoming/multichain-library 0.6.1 → 0.7.1

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.
@@ -10,4 +10,8 @@ export interface CreateBatchGnosisOptions {
10
10
  immutable: boolean;
11
11
  nonce?: number;
12
12
  }
13
- export declare function createBatchGnosis(options: CreateBatchGnosisOptions, settings: MultichainLibrarySettings, jsonRpcProvider: RollingValueProvider<string>): Promise<`0x${string}`>;
13
+ export interface CreateBatchResult {
14
+ transactionHash: `0x${string}`;
15
+ batchId: `0x${string}`;
16
+ }
17
+ export declare function createBatchGnosis(options: CreateBatchGnosisOptions, settings: MultichainLibrarySettings, jsonRpcProvider: RollingValueProvider<string>): Promise<CreateBatchResult>;
@@ -18,7 +18,7 @@ async function createBatchGnosis(options, settings, jsonRpcProvider) {
18
18
  });
19
19
  for (let i = 0; i < 4; i++) {
20
20
  try {
21
- const hash = await client.writeContract({
21
+ const transactionHash = await client.writeContract({
22
22
  account,
23
23
  abi: GnosisPostageStampAbi_1.GnosisPostageStampABI,
24
24
  address: Constants_1.Constants.postageStampGnosisAddress,
@@ -37,7 +37,7 @@ async function createBatchGnosis(options, settings, jsonRpcProvider) {
37
37
  chain: chains_1.gnosis,
38
38
  nonce: options.nonce ?? (await (0, GnosisTransactionCount_1.getGnosisTransactionCount)(account.address, settings, jsonRpcProvider))
39
39
  });
40
- const payload = { jsonrpc: '2.0', id: 1, method: 'eth_getTransactionReceipt', params: [hash] };
40
+ const payload = { jsonrpc: '2.0', id: 1, method: 'eth_getTransactionReceipt', params: [transactionHash] };
41
41
  for (let j = 0; j < 4; j++) {
42
42
  try {
43
43
  await cafe_utility_1.System.sleepMillis(cafe_utility_1.Dates.seconds(5));
@@ -52,7 +52,10 @@ async function createBatchGnosis(options, settings, jsonRpcProvider) {
52
52
  if (event) {
53
53
  const topics = cafe_utility_1.Types.asArray(event.topics);
54
54
  if (topics[1]) {
55
- return cafe_utility_1.Types.asHexString(topics[1]);
55
+ return {
56
+ transactionHash,
57
+ batchId: cafe_utility_1.Types.asHexString(topics[1])
58
+ };
56
59
  }
57
60
  }
58
61
  }
@@ -0,0 +1,14 @@
1
+ import { RollingValueProvider } from 'cafe-utility';
2
+ import { MultichainLibrarySettings } from './Settings';
3
+ export interface GnosisTransaction {
4
+ blockHash: `0x${string}`;
5
+ blockNumber: `0x${string}`;
6
+ hash: `0x${string}`;
7
+ from: `0x${string}`;
8
+ to: `0x${string}`;
9
+ nonce: `0x${string}`;
10
+ value: `0x${string}`;
11
+ gas: `0x${string}`;
12
+ gasPrice: `0x${string}`;
13
+ }
14
+ export declare function getGnosisTransaction(transactionHash: `0x${string}`, settings: MultichainLibrarySettings, jsonRpcProvider: RollingValueProvider<string>): Promise<GnosisTransaction>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGnosisTransaction = getGnosisTransaction;
4
+ const cafe_utility_1 = require("cafe-utility");
5
+ const Fetch_1 = require("./Fetch");
6
+ async function getGnosisTransaction(transactionHash, settings, jsonRpcProvider) {
7
+ const payload = { jsonrpc: '2.0', id: 1, method: 'eth_getTransactionByHash', params: [transactionHash] };
8
+ const response = await (0, Fetch_1.durableFetch)(jsonRpcProvider, settings, 'POST', payload);
9
+ const data = await response.json();
10
+ const object = cafe_utility_1.Types.asObject(data);
11
+ return object;
12
+ }
package/dist/index.d.ts CHANGED
@@ -3,8 +3,9 @@ import { Constants } from './Constants';
3
3
  import { ApproveGnosisBzzOptions } from './GnosisBzzApprove';
4
4
  import { TransferGnosisBzzOptions } from './GnosisBzzTransfer';
5
5
  import { TransferGnosisNativeOptions } from './GnosisNativeTransfer';
6
- import { CreateBatchGnosisOptions } from './GnosisPostageStampCreateBatch';
6
+ import { CreateBatchGnosisOptions, CreateBatchResult } from './GnosisPostageStampCreateBatch';
7
7
  import { GnosisSwapAutoOptions, GnosisSwapCustomOptions } from './GnosisSwap';
8
+ import { GnosisTransaction } from './GnosisTransaction';
8
9
  import { MultiTransferGnosisNativeOptions, MultiTransferGnosisNativeResult } from './MultiGnosisNativeTransfer';
9
10
  import { MultichainLibrarySettings } from './Settings';
10
11
  import { SushiResponse } from './SushiSwap';
@@ -16,6 +17,7 @@ export declare class MultichainLibrary {
16
17
  constants: typeof Constants;
17
18
  constructor(settings?: Partial<MultichainLibrarySettings>);
18
19
  updateSettings(settings: Partial<MultichainLibrarySettings>): void;
20
+ getGnosisTransaction(transactionHash: `0x${string}`): Promise<GnosisTransaction>;
19
21
  getGnosisBzzBalance(address: string): Promise<FixedPointNumber>;
20
22
  getGnosisNativeBalance(address: `0x${string}`): Promise<FixedPointNumber>;
21
23
  getTokenPrice(tokenAddress: `0x${string}`, chainId: number): Promise<number>;
@@ -24,7 +26,7 @@ export declare class MultichainLibrary {
24
26
  multiTransferGnosisNative(options: MultiTransferGnosisNativeOptions): Promise<MultiTransferGnosisNativeResult>;
25
27
  transferGnosisBzz(options: TransferGnosisBzzOptions): Promise<`0x${string}`>;
26
28
  approveGnosisBzz(options: ApproveGnosisBzzOptions): Promise<`0x${string}`>;
27
- createBatchGnosis(options: CreateBatchGnosisOptions): Promise<`0x${string}`>;
29
+ createBatchGnosis(options: CreateBatchGnosisOptions): Promise<CreateBatchResult>;
28
30
  getStoragePriceGnosis(): Promise<bigint>;
29
31
  waitForGnosisBzzBalanceToIncrease(address: string, initialBalance: bigint): Promise<void>;
30
32
  waitForGnosisNativeBalanceToDecrease(address: `0x${string}`, initialBalance: bigint): Promise<void>;
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ const GnosisNativeTransfer_1 = require("./GnosisNativeTransfer");
11
11
  const GnosisPostageStampCreateBatch_1 = require("./GnosisPostageStampCreateBatch");
12
12
  const GnosisPostageStampStoragePrice_1 = require("./GnosisPostageStampStoragePrice");
13
13
  const GnosisSwap_1 = require("./GnosisSwap");
14
+ const GnosisTransaction_1 = require("./GnosisTransaction");
14
15
  const GnosisTransactionCount_1 = require("./GnosisTransactionCount");
15
16
  const MultiGnosisNativeTransfer_1 = require("./MultiGnosisNativeTransfer");
16
17
  const Settings_1 = require("./Settings");
@@ -29,6 +30,9 @@ class MultichainLibrary {
29
30
  this.settings = cafe_utility_1.Objects.deepMerge2((0, Settings_1.getDefaultMultichainLibrarySettings)(), settings || {});
30
31
  this.jsonRpcProvider = new cafe_utility_1.RollingValueProvider(this.settings.gnosisJsonRpcProviders);
31
32
  }
33
+ getGnosisTransaction(transactionHash) {
34
+ return (0, GnosisTransaction_1.getGnosisTransaction)(transactionHash, this.settings, this.jsonRpcProvider);
35
+ }
32
36
  getGnosisBzzBalance(address) {
33
37
  return (0, GnosisBzzBalance_1.getGnosisBzzBalance)(address, this.settings, this.jsonRpcProvider);
34
38
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@upcoming/multichain-library",
3
3
  "private": false,
4
- "version": "0.6.1",
4
+ "version": "0.7.1",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {