MystenLabs / sui

Sui, a next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language
https://sui.io
Apache License 2.0
5.99k stars 11.1k forks source link

transactions subscribe Event not working #14355

Open avaghasiya-supra opened 11 months ago

avaghasiya-supra commented 11 months ago

Steps to Reproduce Issue

I want to subscribe to my transactions but getting an error : [Error: Invalid params]

e.g.

const client = new SuiClient({
        url: 'wss://rpc.testnet.sui.io:443/',
      });

      const subscribe = await client.subscribeTransaction({
        filter: {
          ToAddress: walletAddress,
        },
        onMessage(event) {
          // This function is called once per transaction.
          console.log('subscribe', event);
        },
      });
      console.log('subscribe', subscribe);

Expected Result

we are not getting a response as expected.

System Information

stefan-mysten commented 11 months ago

Hi @avaghasiya-supra thanks for flagging this. At this moment, the testnet network's WebSockets are not working, but if you change it to devnet it will work fine.

avaghasiya-supra commented 11 months ago

I have tried with Devnet but getting the same error [Error: Invalid params] and I also tried with FromOrToAddress.

can you please share an example code for the same?

stefan-mysten commented 11 months ago

Interesting.

I used the code from the Rust SDK example and I was receiving data. I will try with the TS SDK and see if that works.

WS version "1.12.0"
Some(Ok(SuiEvent { id: EventID { tx_digest: TransactionDigest(4NKRnmHbAg7h58S2RFffPTbHtUWaw4ouyduPvgtRKTfB), event_seq: 0 }, package_id: 0x2fdff17b86e34ab722c8ba5e63f0da070d9a4163705b3fdc6a95802cab40a72a, transaction_module: Identifier("SupraSValueFeed"), sender: 0xda03712cec2cd03ca771a0d42d97a65f45ded442e3ba0d1bad1a8fa089105939, type_: StructTag { address: 2fdff17b86e34ab722c8ba5e63f0da070d9a4163705b3fdc6a95802cab40a72a, module: Identifier("SupraSValueFeed"), name: Identifier("SCCProcessedEvent"), type_params: [] }, parsed_json: Object {"hash": Array [Number(77), Number(151), Number(210), Number(37), Number(43), Number(253), Number(51), Number(207), Number(241), Number(18), Number(183), Number(73), Number(79), Number(181), Number(155), Number(79), Number(247), Number(204), Number(57), Number(43), Number(90), Number(101), Number(3), Number(187), Number(170), Number(48), Number(6), Number(179), Number(250), Number(155), Number(74), Number(248)]}, bcs: [32, 77, 151, 210, 37, 43, 253, 51, 207, 241, 18, 183, 73, 79, 181, 155, 79, 247, 204, 57, 43, 90, 101, 3, 187, 170, 48, 6, 179, 250, 155, 74, 248], timestamp_ms: Some(1698084923685) }))
stefan-mysten commented 11 months ago

Here's the TS version that works on mainnet. Testnet and devnet seem to not be working, we're looking into it.

import { getFullnodeUrl, SuiClient, SuiHTTPTransport } from '@mysten/sui.js/client';

async function test() {
const client = new SuiClient({
        transport: new SuiHTTPTransport({
                url: 'https://fullnode.mainnet.sui.io:443',
                websocket: {
                        reconnectTimeout: 1000,
                        url: 'wss://rpc.mainnet.sui.io:443',
                },
        }),
}); 

const unsubscribe = await client.subscribeEvent({
        filter: {
                  All: [],
                },
        onMessage(event) {
            // handle subscription notification message here. This function is called once per subscription message.
            console.log(event);
        },
});
}

test()
stefan-mysten commented 11 months ago

Upon further checks, it appears that testnet is working as expected.

import { getFullnodeUrl, SuiClient, SuiHTTPTransport } from '@mysten/sui.js/client';

async function test() {
  const client = new SuiClient({
  url: getFullnodeUrl('testnet'),
});

const unsubscribe = await client.subscribeTransaction({
    filter: {
        FromAddress: '0x0000000000000000000000000000000000000000000000000000000000000000',
    },
    onMessage(event) {
        // This function is called once per transaction.
        console.log(event)
    },
});
}
test()
avaghasiya-supra commented 11 months ago

Thanks for the update,

I have tried both functions and also checked on testnet and devnt but not working.

stefan-mysten commented 10 months ago

@avaghasiya-supra have you managed to get this working? Unfortunately, I wasn't able to reproduce your error.

avaghasiya-supra commented 10 months ago

Thanks for the reply,

no still not working, can you please check with ToAddress

const subscribeTransactionEvent = async () => {
    const client = new SuiClient({
      url: getFullnodeUrl('testnet'),
    });

    const unsubscribe = await client.subscribeTransaction({
      filter: {
        ToAddress:
          '0x7874fe6ef7d945feb202d5b5899f7c076201ca31334f3ade84215054340e2186',
      },
      onMessage(event) {
        // This function is called once per transaction.
        console.log('event', event);
      },
    });
  };
stefan-mysten commented 10 months ago

Testnet does not seem to have much traffic at the moment. Here's my code that works on mainnet using ToAddress as filter.

🚀 ts-websockets % cat client.ts
import { getFullnodeUrl, SuiClient, SuiHTTPTransport } from '@mysten/sui.js/client';
async function test() {
    const client = new SuiClient({
      url: getFullnodeUrl('mainnet'),
    });

    const unsubscribe = await client.subscribeTransaction({
      filter: {
        ToAddress:
          '0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331',
      },
      onMessage(event) {
        // This function is called once per transaction.
        console.log('event', event);
      },
    });
}

test()

Then I run this code using npx ts-node client.ts.

This is what I get.

event {
  messageVersion: 'v1',
  status: { status: 'success' },
  executedEpoch: '225',
  gasUsed: {
    computationCost: '6750000',
    storageCost: '10769200',
    storageRebate: '10661508',
    nonRefundableStorageFee: '107692'
  },
  modifiedAtVersions: [
    {
      objectId: '0x5059abf8bae0d19af1375f1bd0aea5abf1c7daae46efc4b7edf4b6b1387611da',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0x9a25592fe11b8ba9f5c1708942b9f92adbde6d643e7e3d3b0b33dae0fa92cf1a',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0x9c6e77f0ecfc46aac395e21c52ccb96518f85acacae743c5b47f4ca5e29826c3',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0x9d3c5b3e317f2e0119b14c700de3ce52fd0a6d15624eaa5d1289ee379f37ff03',
      sequenceNumber: '39136223'
    },
    {
      objectId: '0xa6c8d630ede10c8c3661805e45af6a4d7689387b28bb07d0c9201405572e16dd',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0xd06acd159ca9b3807b57ec9625c0b0a5f922fb50691813ed26e7a5e89f4a9175',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0xd59a5f5173424ba725a7d033d86f2eadf2745f87a908bd27e1d27339eff598ce',
      sequenceNumber: '39136236'
    }
  ],
  sharedObjects: [
    {
      objectId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
      version: 39129388,
      digest: 'EMjd94MRrCKcynU7aRCmg5NnPXyFjS8vPFHPJq4pQs5v'
    },
    {
      objectId: '0x0000000000000000000000000000000000000000000000000000000000000006',
      version: 19066265,
      digest: '8AeyUcoMb7soqcWmFmwHoN3QrKxwoM4YFkNU1aTZsKFE'
    },
    {
      objectId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',
      version: 33598411,
      digest: 'ErM8VTSSQBY9xRWFdBhXkUzMH3a8swAiT6Jqhyr4CRLq'
    },
    {
      objectId: '0x9c6e77f0ecfc46aac395e21c52ccb96518f85acacae743c5b47f4ca5e29826c3',
      version: 39136236,
      digest: 'FsorP66Tc536MSXeEZxdGdWiwbVuim85B645TL2KSAnz'
    },
    {
      objectId: '0x5059abf8bae0d19af1375f1bd0aea5abf1c7daae46efc4b7edf4b6b1387611da',
      version: 39136236,
      digest: 'ANZiSctGTbbDqAaz4EK4w2YbMPDgHU9VcM5Apra8LfG'
    },
    {
      objectId: '0xd59a5f5173424ba725a7d033d86f2eadf2745f87a908bd27e1d27339eff598ce',
      version: 39136236,
      digest: '8CEooKEJfuVuwQZnLcnV2dt2PFMkz7yRFR3ofzC9FMf8'
    }
  ],
  transactionDigest: '2jTSzcyqHrPUAkuKvEqLrWiPkYVkVXchryhS4zZgtKEM',
  mutated: [
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] }
  ],
  gasObject: {
    owner: {
      AddressOwner: '0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331'
    },
    reference: {
      objectId: '0x9d3c5b3e317f2e0119b14c700de3ce52fd0a6d15624eaa5d1289ee379f37ff03',
      version: 39136237,
      digest: '8jBbcC2Be7SkiVSaoFwxXAzRxPQzrgceXm3JsLdL5tmF'
    }
  },
  eventsDigest: 'H7M9Uhk3V2gZzef7k3zCXr2CWofc2LbkFXitbyJbVVs6',
  dependencies: [
    '7JVfWjEAdMezBn5hTUokWGAZVuS2VaP9PP18fF533WJC',
    '7QKt1R5ripBQXukc7gvFwYHd1USeN4EuSU447DzJZsCk',
    '9aXs2UJPyeQHV8gq15yXHU91LDjaetPvNRZAVonX2TUh',
    'C3wFcACFqgmaDqW3BArZBbb8gKc6MSrjHUYft6d7FWa3',
    'C4un6RD5A1ycD7aN3XM2esoMBsQqo6cu2EWSVwiYXjsC',
    'Dy3uDMzZEHTaArvph1BueweLCPCoWUCY25tbHQ6Yytjd',
    'Hba24omEaJnh3uPLtfU57xDpkpakhwoTNxdbKLn49x9g'
  ]
}
event {
  messageVersion: 'v1',
  status: { status: 'success' },
  executedEpoch: '225',
  gasUsed: {
    computationCost: '6750000',
    storageCost: '10769200',
    storageRebate: '10661508',
    nonRefundableStorageFee: '107692'
  },
  modifiedAtVersions: [
    {
      objectId: '0x0ea540a424959a23a61797b134259ce5ad89098716218c6d2e835f036b910192',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0x38bff6edbebb69ebf0c00c085789608986acdcf78186766cce10f0aae18bb465',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0x49a49c4bbedaa0225a1de3cbdda352d13654e6883c512a0b90ba9f39ab8e339b',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0x8d303ca100ab79ab8dfe5ac4b7261f5de57c72f0cdc9dd0d3cc639e7d872c36a',
      sequenceNumber: '39136232'
    },
    {
      objectId: '0xae890c3afda651cac4c7ffd7424e0c34eb037b5574ddfedbccb9106692c21789',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0xba8f9877ba48278e291c7648e42d1d5e98899e215c205aa43bd3c104677ad90c',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0xef971ae6d02337d55b7b39ba865c40b7ba4334c8e49108f63568867c299e7b17',
      sequenceNumber: '39136234'
    }
  ],
  sharedObjects: [
    {
      objectId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
      version: 39129388,
      digest: 'EMjd94MRrCKcynU7aRCmg5NnPXyFjS8vPFHPJq4pQs5v'
    },
    {
      objectId: '0x0000000000000000000000000000000000000000000000000000000000000006',
      version: 19066265,
      digest: '8AeyUcoMb7soqcWmFmwHoN3QrKxwoM4YFkNU1aTZsKFE'
    },
    {
      objectId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',
      version: 33598411,
      digest: 'ErM8VTSSQBY9xRWFdBhXkUzMH3a8swAiT6Jqhyr4CRLq'
    },
    {
      objectId: '0xba8f9877ba48278e291c7648e42d1d5e98899e215c205aa43bd3c104677ad90c',
      version: 39136234,
      digest: '3VQ7wUzGgaGCAF7hAYdB6cptEnuW6iciEarw3FeeL9kj'
    },
    {
      objectId: '0x38bff6edbebb69ebf0c00c085789608986acdcf78186766cce10f0aae18bb465',
      version: 39136234,
      digest: 'AEc9TUKhQpdRjX3J9gYBPzByuMq9j69GiUteDqq6pPEA'
    },
    {
      objectId: '0x0ea540a424959a23a61797b134259ce5ad89098716218c6d2e835f036b910192',
      version: 39136234,
      digest: '9H4GYs7H5Efh74aLTLcyYAtdxH3F5MYXBCU8FvTZdweK'
    }
  ],
  transactionDigest: 'AgUNny1bSsmHyBJQNHjGPmwoBW8CF9NBXaTxm9ECntad',
  mutated: [
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] }
  ],
  gasObject: {
    owner: {
      AddressOwner: '0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331'
    },
    reference: {
      objectId: '0x8d303ca100ab79ab8dfe5ac4b7261f5de57c72f0cdc9dd0d3cc639e7d872c36a',
      version: 39136235,
      digest: '7SiX96BB2sUtE2GcGNgwKgwpRXPUAD6jRzT6Kzuc3pKz'
    }
  },
  eventsDigest: '9nvbExw1evbVXkWk6pJeHh6t1mGNJEp1wji1PTXDKWcL',
  dependencies: [
    '7JVfWjEAdMezBn5hTUokWGAZVuS2VaP9PP18fF533WJC',
    '7QKt1R5ripBQXukc7gvFwYHd1USeN4EuSU447DzJZsCk',
    '7xVDwpPKJymCxtmv4D5Uhc37nsSh4WcqQmNrNSDjqAny',
    '9aXs2UJPyeQHV8gq15yXHU91LDjaetPvNRZAVonX2TUh',
    'C3wFcACFqgmaDqW3BArZBbb8gKc6MSrjHUYft6d7FWa3',
    'FKkV9acoqevbzATtqVkgV4KWs7DF7b2kgSitoZFv8NJe',
    'Hba24omEaJnh3uPLtfU57xDpkpakhwoTNxdbKLn49x9g'
  ]
}
event {
  messageVersion: 'v1',
  status: { status: 'success' },
  executedEpoch: '225',
  gasUsed: {
    computationCost: '6750000',
    storageCost: '10769200',
    storageRebate: '10661508',
    nonRefundableStorageFee: '107692'
  },
  modifiedAtVersions: [
    {
      objectId: '0x0169eed3f9c1d1867ad019494325ea87a9c347d838521455cbad371233a6bc43',
      sequenceNumber: '39136243'
    },
    {
      objectId: '0x3a4dd066fcb3f8592d0990015ac9ccb1f0dd294451fca9055cecc5ea41734111',
      sequenceNumber: '39136243'
    },
    {
      objectId: '0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',
      sequenceNumber: '39136243'
    },
    {
      objectId: '0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572',
      sequenceNumber: '39136243'
    },
    {
      objectId: '0x98925ba869bd8a7080b04e93f0d7bdc830b3915b12fd547e8eaa8dad24cf7d69',
      sequenceNumber: '39136229'
    },
    {
      objectId: '0x9d0d275efbd37d8a8855f6f2c761fa5983293dd8ce202ee5196626de8fcd4469',
      sequenceNumber: '39136243'
    },
    {
      objectId: '0xf42ff4fcbf29528d9de55fdd4a93e1216c2d7c7f23ea468bf720f945b15a3c88',
      sequenceNumber: '39136243'
    }
  ],
  sharedObjects: [
    {
      objectId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
      version: 39129388,
      digest: 'EMjd94MRrCKcynU7aRCmg5NnPXyFjS8vPFHPJq4pQs5v'
    },
    {
      objectId: '0x0000000000000000000000000000000000000000000000000000000000000006',
      version: 19066265,
      digest: '8AeyUcoMb7soqcWmFmwHoN3QrKxwoM4YFkNU1aTZsKFE'
    },
    {
      objectId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',
      version: 33598411,
      digest: 'ErM8VTSSQBY9xRWFdBhXkUzMH3a8swAiT6Jqhyr4CRLq'
    },
    {
      objectId: '0x9d0d275efbd37d8a8855f6f2c761fa5983293dd8ce202ee5196626de8fcd4469',
      version: 39136243,
      digest: 'BZCgWWZ66n8FxXBryboe1TcRJD38aJktqzueGxzdsojR'
    },
    {
      objectId: '0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',
      version: 39136243,
      digest: 'pSd7Tx2WRLKuHxb7dzNjBeHKihKPXb428xpC9HerDRS'
    },
    {
      objectId: '0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572',
      version: 39136243,
      digest: 'EuECFufgTUu5Y2MFe3FrEQS8meBYoeP7ehV6TNtcR2ad'
    }
  ],
  transactionDigest: 'GtKJLtJfqUHubYJ6294pQarg9qkSZDo1Nzuj3CEdsvHS',
  mutated: [
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] }
  ],
  gasObject: {
    owner: {
      AddressOwner: '0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331'
    },
    reference: {
      objectId: '0x98925ba869bd8a7080b04e93f0d7bdc830b3915b12fd547e8eaa8dad24cf7d69',
      version: 39136244,
      digest: 'BdMWgYL281LkBRobLdCFFNSt71KhpdwjFGU1eW8ubbYg'
    }
  },
  eventsDigest: 'BtqPrbxVtA3E9KuPGAxhLTf6AdVEbYCHy8zqH9v76bgt',
  dependencies: [
    '5GyX9ZcL37tZRakf4KtD9UsUXyYEktBEi9eAZs6YWhuH',
    '7JVfWjEAdMezBn5hTUokWGAZVuS2VaP9PP18fF533WJC',
    '7QKt1R5ripBQXukc7gvFwYHd1USeN4EuSU447DzJZsCk',
    '9aXs2UJPyeQHV8gq15yXHU91LDjaetPvNRZAVonX2TUh',
    'C3wFcACFqgmaDqW3BArZBbb8gKc6MSrjHUYft6d7FWa3',
    'Eq1GhbDPQFeX3QRb3Ztzi315T9TLcghm8k9QzQzf6JhY',
    'Hba24omEaJnh3uPLtfU57xDpkpakhwoTNxdbKLn49x9g'
  ]
}
event {
  messageVersion: 'v1',
  status: { status: 'success' },
  executedEpoch: '225',
  gasUsed: {
    computationCost: '6750000',
    storageCost: '10769200',
    storageRebate: '10661508',
    nonRefundableStorageFee: '107692'
  },
  modifiedAtVersions: [
    {
      objectId: '0x34d6e013b9dcb3a899f69dda802af9a8afa2193e4049683479c395ea9a5cfbb8',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0x3ac45057d8bdceaacc908af6fc157b0f0a0dda489109e303655328203eaa344b',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0x5e1129a654b3024ce1061645b4d1ca731bc759e2459e7fb8ac01d4d6f9bab301',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0x63e62314a32595f32c27a9b55e847fe076d89536faa26642fb471a4d1ed7864d',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0x8b8f687878070245da862721f896ca9b97fad754f565444e8c0b11592793bef5',
      sequenceNumber: '39136236'
    },
    {
      objectId: '0xbab5cbb17a7506dbb3894e3518a24b0f3839be4bb217af86ef64797c9b291811',
      sequenceNumber: '39136225'
    },
    {
      objectId: '0xd67a9116bf85789271487aa00206d01839aa73f808de28fac26c6665ac2ee910',
      sequenceNumber: '39136236'
    }
  ],
  sharedObjects: [
    {
      objectId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
      version: 39129388,
      digest: 'EMjd94MRrCKcynU7aRCmg5NnPXyFjS8vPFHPJq4pQs5v'
    },
    {
      objectId: '0x0000000000000000000000000000000000000000000000000000000000000006',
      version: 19066265,
      digest: '8AeyUcoMb7soqcWmFmwHoN3QrKxwoM4YFkNU1aTZsKFE'
    },
    {
      objectId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',
      version: 33598411,
      digest: 'ErM8VTSSQBY9xRWFdBhXkUzMH3a8swAiT6Jqhyr4CRLq'
    },
    {
      objectId: '0x34d6e013b9dcb3a899f69dda802af9a8afa2193e4049683479c395ea9a5cfbb8',
      version: 39136236,
      digest: 'Dam4aUZ5EzY5DEK4xc8jsVUzATzc4bZjcMpn5xwu1LXF'
    },
    {
      objectId: '0x3ac45057d8bdceaacc908af6fc157b0f0a0dda489109e303655328203eaa344b',
      version: 39136236,
      digest: '9o44dAqJfMrk34aS8fUgUdMXEeQEFPEaqVyyDCmSvrRA'
    },
    {
      objectId: '0x5e1129a654b3024ce1061645b4d1ca731bc759e2459e7fb8ac01d4d6f9bab301',
      version: 39136236,
      digest: 'EAKtrWV2xFJocHeYATJ8SwRnQKbYi8Wz8i9W58UjBwXN'
    }
  ],
  transactionDigest: '5Fm2k8PbuFtCvpmC8SBbCZmahhruqDM3AMR7WAQ3xGBu',
  mutated: [
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] }
  ],
  gasObject: {
    owner: {
      AddressOwner: '0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331'
    },
    reference: {
      objectId: '0xbab5cbb17a7506dbb3894e3518a24b0f3839be4bb217af86ef64797c9b291811',
      version: 39136237,
      digest: 'DKJmb3vBGnygiyjjBKaBQBRBXYoYfSqYgmbbfBJAAw17'
    }
  },
  eventsDigest: '3ft9t8b46eJDCQmczRkobNSnN8o5HaNS8CnTBXXCs382',
  dependencies: [
    '7JVfWjEAdMezBn5hTUokWGAZVuS2VaP9PP18fF533WJC',
    '7QKt1R5ripBQXukc7gvFwYHd1USeN4EuSU447DzJZsCk',
    '9aXs2UJPyeQHV8gq15yXHU91LDjaetPvNRZAVonX2TUh',
    'AZSYtZHZdVMCR4RpnMuiveF2nJ19U4BqarrCStTKmG83',
    'AitfausxafKD7K4gdWB5rg4Hh5fMLCKtXbPkRuuSJWCk',
    'C3wFcACFqgmaDqW3BArZBbb8gKc6MSrjHUYft6d7FWa3',
    'Hba24omEaJnh3uPLtfU57xDpkpakhwoTNxdbKLn49x9g'
  ]
}
event {
  messageVersion: 'v1',
  status: { status: 'success' },
  executedEpoch: '225',
  gasUsed: {
    computationCost: '6750000',
    storageCost: '10769200',
    storageRebate: '10661508',
    nonRefundableStorageFee: '107692'
  },
  modifiedAtVersions: [
    {
      objectId: '0x093384e997ab2eaf3fbd182bf718b4c83ca762dc604704c2560642b711c89854',
      sequenceNumber: '39136223'
    },
    {
      objectId: '0x1c4899e4fd29a800db3582ea74b187b0fc7f8a1539e6d5e1569c3c0cd2beb069',
      sequenceNumber: '39136242'
    },
    {
      objectId: '0x24c0247fb22457a719efac7f670cdc79be321b521460bd6bd2ccfa9f80713b14',
      sequenceNumber: '39136242'
    },
    {
      objectId: '0x3a3662ee2a06fcb1a47c46372e6b7723c2ebd057ca8b549c6b6f859df1bceb46',
      sequenceNumber: '39136242'
    },
    {
      objectId: '0x685edf5cd18e3badf28d261cdabf77aec6113513039907c0d11c56e858e3e58c',
      sequenceNumber: '39136242'
    },
    {
      objectId: '0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
      sequenceNumber: '39136242'
    },
    {
      objectId: '0xa2c7ca491386efb6ba3f75c5d6add81151946d649252a22b3ed53891811eb5c4',
      sequenceNumber: '39136242'
    }
  ],
  sharedObjects: [
    {
      objectId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
      version: 39129388,
      digest: 'EMjd94MRrCKcynU7aRCmg5NnPXyFjS8vPFHPJq4pQs5v'
    },
    {
      objectId: '0x0000000000000000000000000000000000000000000000000000000000000006',
      version: 19066265,
      digest: '8AeyUcoMb7soqcWmFmwHoN3QrKxwoM4YFkNU1aTZsKFE'
    },
    {
      objectId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',
      version: 33598411,
      digest: 'ErM8VTSSQBY9xRWFdBhXkUzMH3a8swAiT6Jqhyr4CRLq'
    },
    {
      objectId: '0x1c4899e4fd29a800db3582ea74b187b0fc7f8a1539e6d5e1569c3c0cd2beb069',
      version: 39136242,
      digest: 'EYfnw9anTnMabzmmwyuNwRz6Cm8qLSyHKizdFmWcJPs3'
    },
    {
      objectId: '0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
      version: 39136242,
      digest: '4DDjfjt2WmSD12sNx6KwCqdSsrysRmzjhZ4S7Pm19DA3'
    },
    {
      objectId: '0x24c0247fb22457a719efac7f670cdc79be321b521460bd6bd2ccfa9f80713b14',
      version: 39136242,
      digest: '6qVAQQhid1VLAGe4wgo6j2HAN7mYBpfsyBNNoWWTiugH'
    }
  ],
  transactionDigest: 'Biq3xhjQpv3kw4rYAvnPrRhWV76cmkgpWEnAztfGxQpR',
  mutated: [
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] }
  ],
  gasObject: {
    owner: {
      AddressOwner: '0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331'
    },
    reference: {
      objectId: '0x093384e997ab2eaf3fbd182bf718b4c83ca762dc604704c2560642b711c89854',
      version: 39136243,
      digest: 'E25Y31WdjMtSh6m3R9dAGbMLBkgChxxbXJhNCvVYnC8m'
    }
  },
  eventsDigest: 'BgpqUvtiW9LDSYscgZoFhj8kjVHM3u5KnTd6E4q5i9g1',
  dependencies: [
    '2VvtsMCtB39LoPnxwzfpvF86KZfoBA3c5WXggZHkokjY',
    '2askLvQJfJqkpmt9iFvZz99exn7nm9AANQ5thYVrP6ys',
    '7JVfWjEAdMezBn5hTUokWGAZVuS2VaP9PP18fF533WJC',
    '7QKt1R5ripBQXukc7gvFwYHd1USeN4EuSU447DzJZsCk',
    '9aXs2UJPyeQHV8gq15yXHU91LDjaetPvNRZAVonX2TUh',
    'C3wFcACFqgmaDqW3BArZBbb8gKc6MSrjHUYft6d7FWa3',
    'Hba24omEaJnh3uPLtfU57xDpkpakhwoTNxdbKLn49x9g'
  ]
}
event {
  messageVersion: 'v1',
  status: { status: 'success' },
  executedEpoch: '225',
  gasUsed: {
    computationCost: '6750000',
    storageCost: '10769200',
    storageRebate: '10661508',
    nonRefundableStorageFee: '107692'
  },
  modifiedAtVersions: [
    {
      objectId: '0x0bba1e7d907dc2832edfc3bf4468b6deacd9a2df435a35b17e640e135d2d5ddc',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0x2f68dff9d6d8b23007e46b979522425be2632b097d6781d90f2304a67f802607',
      sequenceNumber: '39136231'
    },
    {
      objectId: '0x7c5b7837c44a69b469325463ac0673ac1aa8435ff44ddb4191c9ae380463647f',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0x9a62b4863bdeaabdc9500fce769cf7e72d5585eeb28a6d26e4cafadc13f76ab2',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0xd19285c6b0f3f2322cfe1141ed4f96bdbd6c99c89b79daee743dd9caefada982',
      sequenceNumber: '39136234'
    },
    {
      objectId: '0xdba74e45f5e5054e1025474c713df3cdf25d88e6c3f54287f8880bbb3b0b40b0',
      sequenceNumber: '39136234'
    }
  ],
  sharedObjects: [
    {
      objectId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
      version: 39129388,
      digest: 'EMjd94MRrCKcynU7aRCmg5NnPXyFjS8vPFHPJq4pQs5v'
    },
    {
      objectId: '0x0000000000000000000000000000000000000000000000000000000000000006',
      version: 19066265,
      digest: '8AeyUcoMb7soqcWmFmwHoN3QrKxwoM4YFkNU1aTZsKFE'
    },
    {
      objectId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',
      version: 33598411,
      digest: 'ErM8VTSSQBY9xRWFdBhXkUzMH3a8swAiT6Jqhyr4CRLq'
    },
    {
      objectId: '0x7c5b7837c44a69b469325463ac0673ac1aa8435ff44ddb4191c9ae380463647f',
      version: 39136234,
      digest: 'AdBUzP7YipwM4Z4Prt3y9RVR5kwt9t4W9ekhJ6QBJE9r'
    },
    {
      objectId: '0x9a62b4863bdeaabdc9500fce769cf7e72d5585eeb28a6d26e4cafadc13f76ab2',
      version: 39136234,
      digest: '5g3mZTpQdEzZsSpqY7iYjEoeQf2LBTiktCYR1KivK5SN'
    },
    {
      objectId: '0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab',
      version: 39136234,
      digest: '4VFDfiC72pYxfs2iYHsioEohDs8Dug6AGJKGT3C7Cstu'
    }
  ],
  transactionDigest: '278RrbYyUyGGoNwBAWrYNVMhTNcdWYbLjoFX3iYQX93G',
  mutated: [
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] }
  ],
  gasObject: {
    owner: {
      AddressOwner: '0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331'
    },
    reference: {
      objectId: '0x2f68dff9d6d8b23007e46b979522425be2632b097d6781d90f2304a67f802607',
      version: 39136235,
      digest: '4GaDVr9sKPLDYrWBakbUpXWmijgtG1Ta4GD1JAjoJ9AL'
    }
  },
  eventsDigest: 'EJjhuwKiKDHkUinRzCcBnB6pVYMoQmvbHweMogLU1UzT',
  dependencies: [
    'R7zd15DtAojjcrijctSTi8oNNFouvNYt8ZCGTBe9xSG',
    '7JVfWjEAdMezBn5hTUokWGAZVuS2VaP9PP18fF533WJC',
    '7QKt1R5ripBQXukc7gvFwYHd1USeN4EuSU447DzJZsCk',
    '9aXs2UJPyeQHV8gq15yXHU91LDjaetPvNRZAVonX2TUh',
    'C3wFcACFqgmaDqW3BArZBbb8gKc6MSrjHUYft6d7FWa3',
    'EBSCfJika8fTTYy96FshM1apvTDPJdjoEFCFfrkERzfU',
    'Hba24omEaJnh3uPLtfU57xDpkpakhwoTNxdbKLn49x9g'
  ]
}
event {
  messageVersion: 'v1',
  status: { status: 'success' },
  executedEpoch: '225',
  gasUsed: {
    computationCost: '6750000',
    storageCost: '10769200',
    storageRebate: '10661508',
    nonRefundableStorageFee: '107692'
  },
  modifiedAtVersions: [
    {
      objectId: '0x0169eed3f9c1d1867ad019494325ea87a9c347d838521455cbad371233a6bc43',
      sequenceNumber: '39136244'
    },
    {
      objectId: '0x3a4dd066fcb3f8592d0990015ac9ccb1f0dd294451fca9055cecc5ea41734111',
      sequenceNumber: '39136244'
    },
    {
      objectId: '0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',
      sequenceNumber: '39136244'
    },
    {
      objectId: '0x7c2145fdc1788cba7fbbc7b12747727559a80d095c6953825788388f2c82e318',
      sequenceNumber: '39136230'
    },
    {
      objectId: '0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572',
      sequenceNumber: '39136244'
    },
    {
      objectId: '0x9d0d275efbd37d8a8855f6f2c761fa5983293dd8ce202ee5196626de8fcd4469',
      sequenceNumber: '39136244'
    },
    {
      objectId: '0xf42ff4fcbf29528d9de55fdd4a93e1216c2d7c7f23ea468bf720f945b15a3c88',
      sequenceNumber: '39136244'
    }
  ],
  sharedObjects: [
    {
      objectId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
      version: 39129388,
      digest: 'EMjd94MRrCKcynU7aRCmg5NnPXyFjS8vPFHPJq4pQs5v'
    },
    {
      objectId: '0x0000000000000000000000000000000000000000000000000000000000000006',
      version: 19066265,
      digest: '8AeyUcoMb7soqcWmFmwHoN3QrKxwoM4YFkNU1aTZsKFE'
    },
    {
      objectId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',
      version: 33598411,
      digest: 'ErM8VTSSQBY9xRWFdBhXkUzMH3a8swAiT6Jqhyr4CRLq'
    },
    {
      objectId: '0x9d0d275efbd37d8a8855f6f2c761fa5983293dd8ce202ee5196626de8fcd4469',
      version: 39136244,
      digest: '6jFKB3TqQ1tVoz8N6wmtv16jMUs1PpRg55jp2y2W8de3'
    },
    {
      objectId: '0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',
      version: 39136244,
      digest: 'G2MXPYY9oSop6hh8ck5hc33wGgAoabmpcni5aGMzoGaQ'
    },
    {
      objectId: '0x985e3db9f93f76ee8bace7c3dd5cc676a096accd5d9e09e9ae0fb6e492b14572',
      version: 39136244,
      digest: '9jJWUqBNmGveq1DSgeEshGtEnBuLvhWsSWGfqsDvheaA'
    }
  ],
  transactionDigest: '2rgbi36Cd46BoDZKsKiS7kbzE4xPc4KMVETzNybyxGHe',
  mutated: [
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] },
    { owner: [Object], reference: [Object] }
  ],
  gasObject: {
    owner: {
      AddressOwner: '0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331'
    },
    reference: {
      objectId: '0x7c2145fdc1788cba7fbbc7b12747727559a80d095c6953825788388f2c82e318',
      version: 39136245,
      digest: '7n9uP34AM2U2qPZRqhr93q3VrEnUNYsCAcu99zxHSjQW'
    }
  },
  eventsDigest: 'NfGvKU3qz3g1U6Zsd7pxrpeTacvQdpmY2TQ2waUL527',
  dependencies: [
    '4nwjjV8r3zK4xQ5EhhUktsYQBXvG6jcAguVPEdS69FZt',
    '7JVfWjEAdMezBn5hTUokWGAZVuS2VaP9PP18fF533WJC',
    '7QKt1R5ripBQXukc7gvFwYHd1USeN4EuSU447DzJZsCk',
    '9aXs2UJPyeQHV8gq15yXHU91LDjaetPvNRZAVonX2TUh',
    'C3wFcACFqgmaDqW3BArZBbb8gKc6MSrjHUYft6d7FWa3',
    'GtKJLtJfqUHubYJ6294pQarg9qkSZDo1Nzuj3CEdsvHS',
    'Hba24omEaJnh3uPLtfU57xDpkpakhwoTNxdbKLn49x9g'
  ]
}
avaghasiya-supra commented 10 months ago

yes, I have checked in mainnet, and is working as expected. but not working on the testnet

Error:

Possible Unhandled Promise Rejection (id: 1): Error: Invalid params Error: Invalid params

stefan-mysten commented 10 months ago

yes, I have checked in mainnet, and is working as expected. but not working on the testnet

Error:

Possible Unhandled Promise Rejection (id: 1): Error: Invalid params Error: Invalid params

We're making progress. I tried on testnet with a different address and it worked. Here's my pnpm-lock.yaml file. Also here's my package.json file.

So the question that comes to mind is about the versions of Sui TS SDK that you're using.

datznt commented 8 months ago

yes, I have checked in mainnet, and is working as expected. but not working on the testnet Error: Possible Unhandled Promise Rejection (id: 1): Error: Invalid params Error: Invalid params

We're making progress. I tried on testnet with a different address and it worked. Here's my pnpm-lock.yaml file. Also here's my package.json file.

So the question that comes to mind is about the versions of Sui TS SDK that you're using.

I have the same problem. I don't think this is an sdk problem. Because I tried on typescript sdk, golang sdk, and to be sure I used postman.

image

stefan-mysten commented 8 months ago

There are some issues with Websockets at the moment that the team is trying to fix, which might be what's causing that error. Thanks for reporting @datznt.

MrReN commented 8 months ago

same error.

stefan-mysten commented 8 months ago

It should be working now, can you please try again @MrReN @datznt @avaghasiya-supra ?

jojoo-eth commented 8 months ago

It should be working now, can you please try again @MrReN @datznt @avaghasiya-supra ?

wss://fullnode.mainnet.sui.io/

{"jsonrpc":"2.0","id":1,"method":"suix_subscribeEvent","params":[{"MoveEventType":"[mainnet_package_id]::game::NewPlayerEvent"}]}

mainnet_package_id is the contract package id

Still got this error: Invalid params

Moreover, this seems to be an intermittent issue – sometimes it works fine, but most of the time, it throws this error. @stefan-mysten

stefan-mysten commented 8 months ago

Here's what I just tried:

wscat -c wss://fullnode.mainnet.sui.io
Connected (press CTRL+C to quit)
> {"jsonrpc": "2.0", "id": 1,"method": "suix_subscribeEvent","params": [{"Package": "0x0000000000000000000000000000000000000000000000000000000000000002"}]}
< {"jsonrpc":"2.0","result":3748057780814255,"id":1}

Are you sure you are passing your params correctly? Another query I tried:

wscat -c wss://fullnode.mainnet.sui.io
{"jsonrpc": "2.0", "id": 1,"method": "suix_subscribeEvent","params": [{"Sender": "0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331"}]}

Once RPC 2.0 will launch with Subscriptions support (hopefully in March, or later), this should not be a problem anymore.

Here's another one with this package:

> {"jsonrpc": "2.0", "id": 1,"method": "suix_subscribeEvent","params": [{"MoveEventType": "0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a::vaa::parse_and_verify"}]}
< {"jsonrpc":"2.0","result":1336981442097945,"id":1}
williamwang1 commented 8 months ago

got this error: Invalid params on testnet

await client.subscribeEvent({
            filter: { 
                Package : '0xd8f042479dcb0028d868051bd53f0d3a41c600db7b14241674db1c2e60124975'
            },
            onMessage: (event) => {
                console.log('subscribeEvent', JSON.stringify(event, null, 2));
            },
        })
Error subscribing to events: JsonRpcError: Invalid params
    at file:///Users/wanglei/projects/mypost-pages/subscribe/node_modules/.pnpm/@mysten+sui.js@0.49.1/node_modules/@mysten/sui.js/dist/esm/client/rpc-websocket-client.js:79:15
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async RpcSubscription.subscribe (file:///Users/wanglei/projects/mypost-pages/subscribe/node_modules/.pnpm/@mysten+sui.js@0.49.1/node_modules/@mysten/sui.js/dist/esm/client/rpc-websocket-client.js:173:31)
    at async WebsocketClient.subscribe (file:///Users/wanglei/projects/mypost-pages/subscribe/node_modules/.pnpm/@mysten+sui.js@0.49.1/node_modules/@mysten/sui.js/dist/esm/client/rpc-websocket-client.js:87:5)
    at async SuiHTTPTransport.subscribe (file:///Users/wanglei/projects/mypost-pages/subscribe/node_modules/.pnpm/@mysten+sui.js@0.49.1/node_modules/@mysten/sui.js/dist/esm/client/http-transport.js:76:25)
    at async main (file:///Users/wanglei/projects/mypost-pages/subscribe/index.js:16:29) {
  code: -32602,
  type: 'InvalidParams'
}
bwhli commented 8 months ago

@stefan-mysten I tried the same payload as you with wscat, and got this:

wscat -c wss://fullnode.mainnet.sui.io
Connected (press CTRL+C to quit)
> {"jsonrpc": "2.0", "id": 1,"method": "suix_subscribeEvent","params": [{"Package": "0x0000000000000000000000000000000000000000000000000000000000000002"}]}
< {"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid params"},"id":1}
>
bwhli commented 8 months ago

Interesting... Do the official RPCs use some kind of load balancer or proxy? Could be an issue on that layer.

I ran some tests from a few locations via VPN. When set to Japan, the request fails. When set to UK, the request fails. When set to San Francisco, the request works.

Here's the result from SF:

wscat -c wss://fullnode.mainnet.sui.io
Connected (press CTRL+C to quit)
> {"jsonrpc": "2.0", "id": 1,"method": "suix_subscribeEvent","params": [{"Package": "0x0000000000000000000000000000000000000000000000000000000000000002"}]}
< {"jsonrpc":"2.0","result":5848313776970457,"id":1}
stefan-mysten commented 8 months ago

@bwhli Thanks for the report. I passed the information internally.

stefan-mysten commented 8 months ago

Coming back with an update @bwhli @williamwang1 @avaghasiya-supra @datznt

The reason subscription is failing randomly is because there's a strict cap on the number of WS connections any fullnode is allowed to handle, and we are hitting this cap across the Mysten public fullnodes. In general, public full nodes are not for production use and we'd suggest to use one of the Sui RPC providers(and click on Node service filter).

Once Subscription lands (hopefully with release in March) in RPC 2.0 (that launches at the end of Jan' 24), this might be improved, but until then, not a lot we can do.

We highly appreciate your patience and understanding on this matter.

bwhli commented 8 months ago

@stefan-mysten Thanks for the update! Makes sense. We will hold off on doing subscription stuff until RPC 2.0.

stefan-mysten commented 8 months ago

@bwhli Sure. Re-reading my message, I wanted to clarify that subscription is not part of the RPC 2.0 MVP launch next week, but it will come later (currently we're targeting the next release in March, but we will see how things align).

bwhli commented 8 months ago

@stefan-mysten Got it! We'll set up our own nodes in the meantime. 🙏

Sceat commented 6 months ago

As of today, Mainnet node is working fine but not Testnet nor Devnet

╰─± wscat -c wss://fullnode.mainnet.sui.io
Connected (press CTRL+C to quit)
> {"jsonrpc": "2.0", "id": 1,"method": "suix_subscribeEvent","params": [{"Package": "0x0000000000000000000000000000000000000000000000000000000000000002"}]}
< {"jsonrpc":"2.0","result":3957587943712145,"id":1}

╰─± wscat -c wss://fullnode.testnet.sui.io
Connected (press CTRL+C to quit)
> {"jsonrpc": "2.0", "id": 1,"method": "suix_subscribeEvent","params": [{"Package": "0x0000000000000000000000000000000000000000000000000000000000000002"}]}
< {"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid params"},"id":1}

EDIT:

It seems to work fine now on the 3 networks 👍🏻

EDIT 2:

It broke again :D if it's indeed that too many peoples are using it, maybe we could improve the error msg

Sceat commented 6 months ago

note that subscribeEvent is mostly working but subscribeTransaction not really. The filters are not respected, using FromAddress or ToAddress result in random behavior where it often only works when sending a transaction from the specified address regardless of the filter name, also specifying the Package filter result in no events at all. On official mysten nodes there are sometimes a result. on Ankr premium there are not at all

v1xingyue commented 5 months ago

I also got same error now. Is public nodes subscribe feature works fine ? And may I know when will this can work.

KyrinCode commented 4 months ago

When I use subscribeEvent, it works normally on the testnet, but after I change the url to 'mainnet', the exact same code give me JsonRpcError: Invalid params.

JsonRpcError: Invalid params at myproject/node_modules/@mysten/sui.js/dist/cjs/client/rpc-websocket-client.js:103:15 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async RpcSubscription.subscribe (myproject/node_modules/@mysten/sui.js/dist/cjs/client/rpc-websocket-client.js:197:31) at async WebsocketClient.subscribe (myproject/node_modules/@mysten/sui.js/dist/cjs/client/rpc-websocket-client.js:111:5) at async SuiHTTPTransport.subscribe (myproject/node_modules/@mysten/sui.js/dist/cjs/client/http-transport.js:99:25) at async handleEvent (/Users/kyrin/Documents/sui-move/sui-script/grab.js:43:22) { code: -32602, type: 'InvalidParams'

albertoleon7794 commented 3 months ago

I'm actually in the middle of a Sui hackathon and this isn't working on testNet. I guess we need to do polling? Any updated solutions or workarounds?

stefan-mysten commented 3 months ago

@albertoleon7794 I'll try to restart the service tomorrow, but ideally, polling is the way to go for now.

ad0ll commented 3 months ago

@stefan-mysten, is there a link to a polling example?

0xGoenka commented 3 months ago

Same problem here, would be interesting to know why testnet rpc doesn't work like mainnet ? also would be nice to add a meaningfull error message

Sceat commented 3 months ago

It depends on the nodes, probably Sui nodes don't support that much subscription but if you have a dedicated one without other peoples connecting to it, there will be no problems

SamihMustafa commented 3 months ago

i tried using blockvision and shinami testnet private RPC and get the same invalid params

Edit: Shinami worked randomly 2 out of 20 times, back to not working again

0xGoenka commented 3 months ago

@Sceat any recommendation on which provider to pick ?

Sceat commented 3 months ago

Ankr is pretty reliable, it still fails sometimes

HaseebUllahAbbasi commented 3 months ago

any suggestion on this, as the websocket is not defined when i run this code,

import { getFullnodeUrl, SuiClient, SuiHTTPTransport } from '@mysten/sui/client';
async function main() {
    const client = new SuiClient({
      url: getFullnodeUrl('mainnet'),
    });

    const unsubscribe = await client.subscribeTransaction({
      filter: {
        ToAddress:
          '0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331',
      },
      onMessage(event) {
        // This function is called once per transaction.
        console.log('event', event);
      },
    });
}

// test()
export default main

error is given below

Error: ReferenceError: WebSocket is not defined ,


 at SuiHTTPTransport.getWebsocketClient_fn (/home/haseeb/sui-fun/degenDenBackend/node_modules/@mysten/sui/src/client/http-transport.ts:69:71)
    at SuiHTTPTransport.subscribe (/project/node_modules/@mysten/sui/src/client/http-transport.ts:126:29)
    at SuiClient.subscribeTransaction (/project/node_modules/@mysten/sui/src/client/client.ts:549:25)
    at main (/project/src/jobs/listenTransaction.ts:8:38)
    at Object.<anonymous> (/project/src/app.ts:27:5)
HaseebUllahAbbasi commented 3 months ago

I just downloaded the Experimental version of mystenlab/sui.js/client and it worked,

0xGoenka commented 3 months ago
import { WebSocket } from "ws";

const client = new SuiClient({
  transport: new SuiHTTPTransport({
    // url: getFullnodeUrl("testnet"),
    url:
      "https://sui-testnet.blockvision.org/v1/" +
      process.env.API_KEY_BLOCKVISION,
    websocket: {
      reconnectTimeout: 1000,
      url:
        "wss://sui-testnet.blockvision.org/v1/" +
        process.env.API_KEY_BLOCKVISION,
    },
    // The typescript definitions may not match perfectly, casting to never avoids these minor incompatibilities
    WebSocketConstructor: WebSocket as never,
  }),
});

@HaseebUllahAbbasi else you just need to pass a websocket impl

Romainua commented 4 weeks ago

@stefan-mysten When endpoint have got many subscribes in a while it response with invalid params, and then I should disconnect from endpoints and reconnect again to solve this. It looks like full node has limit of subscribes for safety reason. Isn't?

image
KyrinCode commented 4 weeks ago

Received.Kyrin

stefan-mysten commented 4 weeks ago

@Romainua yes, that's correct. The servers get overloaded with connections and are not very stable when that happens.