everscale-client-ruby 1.1.61 → 1.1.63

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35aafe4b89235753c799f0e51e0af5ed72f7cbdc34a820de78af3151c4e16e97
4
- data.tar.gz: 70b20ef01342703a740d4c90278af3fc59233329134da50f6d75775ddfb1b6ab
3
+ metadata.gz: 9dbc26200488873fe31f2b24aa622bbd36f2204e9564e78606b6f9e0c41ffbd8
4
+ data.tar.gz: 05db9abdd64c99d5fe4395550216229e6d64d3fa0bde339fa4a50e6f08a8fe9e
5
5
  SHA512:
6
- metadata.gz: 5d8a8277c2be0d8f4173387498ef2a88f7e065915ffbe33f479ebaa162693d5e74cbb005dd906b1809478aab812ac8f9e5eed85c36734e49771af3bc6a99d749
7
- data.tar.gz: 2faf3ef66d975b9ab1733626b66967e29aaabd30356559ac2722505e98afbdbae57d52f0d60b9eef3b958ada37f88ab678e5e1aeabed8fb1f7ba16879f13039d
6
+ metadata.gz: 0b5f6eb1fc122801c939f0aaa0221b2249e9f55a3cd590ac8894108fa29e98ddd2e4a7a8772a9737987e4c615b81eee47484e4a533a4e789073779650a2c6198
7
+ data.tar.gz: e26806049ad9ff4092c99625286ac1d5ee05a5ae4b0d6f4200514215056b605e362ba499a99fbbf3886131cb5281626996eeb1b8cef0c0297908320d3642fd7a
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.38.0",
2
+ "version": "1.40.0",
3
3
  "modules": [
4
4
  {
5
5
  "name": "client",
@@ -254,6 +254,13 @@
254
254
  "value": "35",
255
255
  "summary": null,
256
256
  "description": null
257
+ },
258
+ {
259
+ "name": "InvalidData",
260
+ "type": "Number",
261
+ "value": "36",
262
+ "summary": null,
263
+ "description": null
257
264
  }
258
265
  ],
259
266
  "summary": null,
@@ -477,7 +484,7 @@
477
484
  "number_size": 32
478
485
  },
479
486
  "summary": "Frequency of sync latency detection.",
480
- "description": "Library periodically checks the current endpoint for blockchain data syncronization latency.\nIf the latency (time-lag) is less then `NetworkConfig.max_latency`\nthen library selects another endpoint.\n\nMust be specified in milliseconds. Default is 60000 (1 min)."
487
+ "description": "Library periodically checks the current endpoint for blockchain data synchronization latency.\nIf the latency (time-lag) is less then `NetworkConfig.max_latency`\nthen library selects another endpoint.\n\nMust be specified in milliseconds. Default is 60000 (1 min)."
481
488
  },
482
489
  {
483
490
  "name": "max_latency",
@@ -487,7 +494,7 @@
487
494
  "number_type": "UInt",
488
495
  "number_size": 32
489
496
  },
490
- "summary": "Maximum value for the endpoint's blockchain data syncronization latency (time-lag). Library periodically checks the current endpoint for blockchain data synchronization latency. If the latency (time-lag) is less then `NetworkConfig.max_latency` then library selects another endpoint.",
497
+ "summary": "Maximum value for the endpoint's blockchain data synchronization latency (time-lag). Library periodically checks the current endpoint for blockchain data synchronization latency. If the latency (time-lag) is less then `NetworkConfig.max_latency` then library selects another endpoint.",
491
498
  "description": "Must be specified in milliseconds. Default is 60000 (1 min)."
492
499
  },
493
500
  {
@@ -520,7 +527,7 @@
520
527
  "number_size": 32
521
528
  },
522
529
  "summary": "UNSTABLE.",
523
- "description": "First REMP status awaiting timeout. If no status recieved during the timeout than fallback transaction scenario is activated.\n\nMust be specified in milliseconds. Default is 1000 (1 sec)."
530
+ "description": "First REMP status awaiting timeout. If no status received during the timeout than fallback transaction scenario is activated.\n\nMust be specified in milliseconds. Default is 1000 (1 sec)."
524
531
  },
525
532
  {
526
533
  "name": "next_remp_status_timeout",
@@ -531,7 +538,7 @@
531
538
  "number_size": 32
532
539
  },
533
540
  "summary": "UNSTABLE.",
534
- "description": "Subsequent REMP status awaiting timeout. If no status recieved during the timeout than fallback transaction scenario is activated.\n\nMust be specified in milliseconds. Default is 5000 (5 sec)."
541
+ "description": "Subsequent REMP status awaiting timeout. If no status received during the timeout than fallback transaction scenario is activated.\n\nMust be specified in milliseconds. Default is 5000 (5 sec)."
535
542
  },
536
543
  {
537
544
  "name": "access_key",
@@ -559,7 +566,7 @@
559
566
  {
560
567
  "name": "WS",
561
568
  "type": "None",
562
- "summary": "All GraphQL queries will be served using single web socket connection.",
569
+ "summary": "All GraphQL queries will be served using single web socket connection. SDK is tested to reliably handle 5000 parallel network requests (sending and processing messages, quering and awaiting blockchain data)",
563
570
  "description": null
564
571
  }
565
572
  ],
@@ -6133,6 +6140,26 @@
6133
6140
  "summary": null,
6134
6141
  "description": null
6135
6142
  },
6143
+ {
6144
+ "name": "DataLayout",
6145
+ "type": "EnumOfConsts",
6146
+ "enum_consts": [
6147
+ {
6148
+ "name": "Input",
6149
+ "type": "None",
6150
+ "summary": "Decode message body as function input parameters.",
6151
+ "description": null
6152
+ },
6153
+ {
6154
+ "name": "Output",
6155
+ "type": "None",
6156
+ "summary": "Decode message body as function output.",
6157
+ "description": null
6158
+ }
6159
+ ],
6160
+ "summary": null,
6161
+ "description": null
6162
+ },
6136
6163
  {
6137
6164
  "name": "ParamsOfEncodeMessageBody",
6138
6165
  "type": "Struct",
@@ -6539,6 +6566,25 @@
6539
6566
  },
6540
6567
  "summary": "Flag allowing partial BOC decoding when ABI doesn't describe the full body BOC. Controls decoder behaviour when after decoding all described in ABI params there are some data left in BOC: `true` - return decoded values `false` - return error of incomplete BOC deserialization (default)",
6541
6568
  "description": null
6569
+ },
6570
+ {
6571
+ "name": "function_name",
6572
+ "type": "Optional",
6573
+ "optional_inner": {
6574
+ "type": "String"
6575
+ },
6576
+ "summary": "Function name or function id if is known in advance",
6577
+ "description": null
6578
+ },
6579
+ {
6580
+ "name": "data_layout",
6581
+ "type": "Optional",
6582
+ "optional_inner": {
6583
+ "type": "Ref",
6584
+ "ref_name": "abi.DataLayout"
6585
+ },
6586
+ "summary": null,
6587
+ "description": null
6542
6588
  }
6543
6589
  ],
6544
6590
  "summary": null,
@@ -6616,6 +6662,25 @@
6616
6662
  },
6617
6663
  "summary": "Flag allowing partial BOC decoding when ABI doesn't describe the full body BOC. Controls decoder behaviour when after decoding all described in ABI params there are some data left in BOC: `true` - return decoded values `false` - return error of incomplete BOC deserialization (default)",
6618
6664
  "description": null
6665
+ },
6666
+ {
6667
+ "name": "function_name",
6668
+ "type": "Optional",
6669
+ "optional_inner": {
6670
+ "type": "String"
6671
+ },
6672
+ "summary": "Function name or function id if is known in advance",
6673
+ "description": null
6674
+ },
6675
+ {
6676
+ "name": "data_layout",
6677
+ "type": "Optional",
6678
+ "optional_inner": {
6679
+ "type": "Ref",
6680
+ "ref_name": "abi.DataLayout"
6681
+ },
6682
+ "summary": null,
6683
+ "description": null
6619
6684
  }
6620
6685
  ],
6621
6686
  "summary": null,
@@ -7068,6 +7133,47 @@
7068
7133
  ],
7069
7134
  "summary": null,
7070
7135
  "description": null
7136
+ },
7137
+ {
7138
+ "name": "ParamsOfGetSignatureData",
7139
+ "type": "Struct",
7140
+ "struct_fields": [
7141
+ {
7142
+ "name": "abi",
7143
+ "type": "Ref",
7144
+ "ref_name": "abi.Abi",
7145
+ "summary": "Contract ABI used to decode.",
7146
+ "description": null
7147
+ },
7148
+ {
7149
+ "name": "message",
7150
+ "type": "String",
7151
+ "summary": "Message BOC encoded in `base64`.",
7152
+ "description": null
7153
+ }
7154
+ ],
7155
+ "summary": null,
7156
+ "description": null
7157
+ },
7158
+ {
7159
+ "name": "ResultOfGetSignatureData",
7160
+ "type": "Struct",
7161
+ "struct_fields": [
7162
+ {
7163
+ "name": "signature",
7164
+ "type": "String",
7165
+ "summary": "Signature from the message in `hex`.",
7166
+ "description": null
7167
+ },
7168
+ {
7169
+ "name": "hash",
7170
+ "type": "String",
7171
+ "summary": "Hash to verify the signature in `base64`.",
7172
+ "description": null
7173
+ }
7174
+ ],
7175
+ "summary": null,
7176
+ "description": null
7071
7177
  }
7072
7178
  ],
7073
7179
  "functions": [
@@ -7640,6 +7746,44 @@
7640
7746
  ]
7641
7747
  },
7642
7748
  "errors": null
7749
+ },
7750
+ {
7751
+ "name": "get_signature_data",
7752
+ "summary": "Extracts signature from message body and calculates hash to verify the signature",
7753
+ "description": null,
7754
+ "params": [
7755
+ {
7756
+ "name": "context",
7757
+ "type": "Generic",
7758
+ "generic_name": "Arc",
7759
+ "generic_args": [
7760
+ {
7761
+ "type": "Ref",
7762
+ "ref_name": "ClientContext"
7763
+ }
7764
+ ],
7765
+ "summary": null,
7766
+ "description": null
7767
+ },
7768
+ {
7769
+ "name": "params",
7770
+ "type": "Ref",
7771
+ "ref_name": "abi.ParamsOfGetSignatureData",
7772
+ "summary": null,
7773
+ "description": null
7774
+ }
7775
+ ],
7776
+ "result": {
7777
+ "type": "Generic",
7778
+ "generic_name": "ClientResult",
7779
+ "generic_args": [
7780
+ {
7781
+ "type": "Ref",
7782
+ "ref_name": "abi.ResultOfGetSignatureData"
7783
+ }
7784
+ ]
7785
+ },
7786
+ "errors": null
7643
7787
  }
7644
7788
  ]
7645
7789
  },
@@ -7776,7 +7920,7 @@
7776
7920
  {
7777
7921
  "name": "id",
7778
7922
  "type": "String",
7779
- "summary": "Shardstate identificator",
7923
+ "summary": "Shardstate identifier",
7780
7924
  "description": null
7781
7925
  },
7782
7926
  {
@@ -9464,8 +9608,8 @@
9464
9608
  "description": null
9465
9609
  }
9466
9610
  ],
9467
- "summary": "Notifies the app that the message was sent to the network, i.e `processing.send_message` was successfuly executed. Now, the message is in the blockchain. If Application exits at this phase, Developer needs to proceed with processing after the application is restored with `wait_for_transaction` function, passing shard_block_id and message from this event.",
9468
- "description": "Do not forget to specify abi of your contract as well, it is crucial for proccessing. See `processing.wait_for_transaction` documentation."
9611
+ "summary": "Notifies the app that the message was sent to the network, i.e `processing.send_message` was successfully executed. Now, the message is in the blockchain. If Application exits at this phase, Developer needs to proceed with processing after the application is restored with `wait_for_transaction` function, passing shard_block_id and message from this event.",
9612
+ "description": "Do not forget to specify abi of your contract as well, it is crucial for processing. See `processing.wait_for_transaction` documentation."
9469
9613
  },
9470
9614
  {
9471
9615
  "name": "SendFailed",
@@ -9498,7 +9642,7 @@
9498
9642
  }
9499
9643
  ],
9500
9644
  "summary": "Notifies the app that the sending operation was failed with network error.",
9501
- "description": "Nevertheless the processing will be continued at the waiting\nphase because the message possibly has been delivered to the\nnode.\nIf Application exits at this phase, Developer needs to proceed with processing\nafter the application is restored with `wait_for_transaction` function, passing\nshard_block_id and message from this event. Do not forget to specify abi of your contract\nas well, it is crucial for proccessing. See `processing.wait_for_transaction` documentation."
9645
+ "description": "Nevertheless the processing will be continued at the waiting\nphase because the message possibly has been delivered to the\nnode.\nIf Application exits at this phase, Developer needs to proceed with processing\nafter the application is restored with `wait_for_transaction` function, passing\nshard_block_id and message from this event. Do not forget to specify abi of your contract\nas well, it is crucial for processing. See `processing.wait_for_transaction` documentation."
9502
9646
  },
9503
9647
  {
9504
9648
  "name": "WillFetchNextBlock",
@@ -9524,7 +9668,7 @@
9524
9668
  }
9525
9669
  ],
9526
9670
  "summary": "Notifies the app that the next shard block will be fetched from the network.",
9527
- "description": "Event can occurs more than one time due to block walking\nprocedure.\nIf Application exits at this phase, Developer needs to proceed with processing\nafter the application is restored with `wait_for_transaction` function, passing\nshard_block_id and message from this event. Do not forget to specify abi of your contract\nas well, it is crucial for proccessing. See `processing.wait_for_transaction` documentation."
9671
+ "description": "Event can occurs more than one time due to block walking\nprocedure.\nIf Application exits at this phase, Developer needs to proceed with processing\nafter the application is restored with `wait_for_transaction` function, passing\nshard_block_id and message from this event. Do not forget to specify abi of your contract\nas well, it is crucial for processing. See `processing.wait_for_transaction` documentation."
9528
9672
  },
9529
9673
  {
9530
9674
  "name": "FetchNextBlockFailed",
@@ -9584,7 +9728,7 @@
9584
9728
  }
9585
9729
  ],
9586
9730
  "summary": "Notifies the app that the message was not executed within expire timeout on-chain and will never be because it is already expired. The expiration timeout can be configured with `AbiConfig` parameters.",
9587
- "description": "This event occurs only for the contracts which ABI includes \"expire\" header.\n\nIf Application specifies `NetworkConfig.message_retries_count` > 0, then `process_message`\nwill perform retries: will create a new message and send it again and repeat it untill it reaches\nthe maximum retries count or receives a successful result. All the processing\nevents will be repeated."
9731
+ "description": "This event occurs only for the contracts which ABI includes \"expire\" header.\n\nIf Application specifies `NetworkConfig.message_retries_count` > 0, then `process_message`\nwill perform retries: will create a new message and send it again and repeat it until it reaches\nthe maximum retries count or receives a successful result. All the processing\nevents will be repeated."
9588
9732
  },
9589
9733
  {
9590
9734
  "name": "RempSentToValidators",
@@ -9670,7 +9814,7 @@
9670
9814
  "description": null
9671
9815
  }
9672
9816
  ],
9673
- "summary": "Notifies the app that the block candicate with the message has been accepted by the thread's validators",
9817
+ "summary": "Notifies the app that the block candidate with the message has been accepted by the thread's validators",
9674
9818
  "description": null
9675
9819
  },
9676
9820
  {
@@ -9714,7 +9858,7 @@
9714
9858
  "description": null
9715
9859
  }
9716
9860
  ],
9717
- "summary": "Notifies the app about any problem that has occured in REMP processing - in this case library switches to the fallback transaction awaiting scenario (sequential block reading).",
9861
+ "summary": "Notifies the app about any problem that has occurred in REMP processing - in this case library switches to the fallback transaction awaiting scenario (sequential block reading).",
9718
9862
  "description": null
9719
9863
  }
9720
9864
  ],
@@ -11084,7 +11228,7 @@
11084
11228
  {
11085
11229
  "name": "run_executor",
11086
11230
  "summary": "Emulates all the phases of contract execution locally",
11087
- "description": "Performs all the phases of contract execution on Transaction Executor -\nthe same component that is used on Validator Nodes.\n\nCan be used for contract debugging, to find out the reason why a message was not delivered successfully.\nValidators throw away the failed external inbound messages (if they failed bedore `ACCEPT`) in the real network.\nThis is why these messages are impossible to debug in the real network.\nWith the help of run_executor you can do that. In fact, `process_message` function\nperforms local check with `run_executor` if there was no transaction as a result of processing\nand returns the error, if there is one.\n\nAnother use case to use `run_executor` is to estimate fees for message execution.\nSet `AccountForExecutor::Account.unlimited_balance`\nto `true` so that emulation will not depend on the actual balance.\nThis may be needed to calculate deploy fees for an account that does not exist yet.\nJSON with fees is in `fees` field of the result.\n\nOne more use case - you can produce the sequence of operations,\nthus emulating the sequential contract calls locally.\nAnd so on.\n\nTransaction executor requires account BOC (bag of cells) as a parameter.\nTo get the account BOC - use `net.query` method to download it from GraphQL API\n(field `boc` of `account`) or generate it with `abi.encode_account` method.\n\nAlso it requires message BOC. To get the message BOC - use `abi.encode_message` or `abi.encode_internal_message`.\n\nIf you need this emulation to be as precise as possible (for instance - emulate transaction\nwith particular lt in particular block or use particular blockchain config,\ndownloaded from a particular key block - then specify `execution_options` parameter.\n\nIf you need to see the aborted transaction as a result, not as an error, set `skip_transaction_check` to `true`.",
11231
+ "description": "Performs all the phases of contract execution on Transaction Executor -\nthe same component that is used on Validator Nodes.\n\nCan be used for contract debugging, to find out the reason why a message was not delivered successfully.\nValidators throw away the failed external inbound messages (if they failed before `ACCEPT`) in the real network.\nThis is why these messages are impossible to debug in the real network.\nWith the help of run_executor you can do that. In fact, `process_message` function\nperforms local check with `run_executor` if there was no transaction as a result of processing\nand returns the error, if there is one.\n\nAnother use case to use `run_executor` is to estimate fees for message execution.\nSet `AccountForExecutor::Account.unlimited_balance`\nto `true` so that emulation will not depend on the actual balance.\nThis may be needed to calculate deploy fees for an account that does not exist yet.\nJSON with fees is in `fees` field of the result.\n\nOne more use case - you can produce the sequence of operations,\nthus emulating the sequential contract calls locally.\nAnd so on.\n\nTransaction executor requires account BOC (bag of cells) as a parameter.\nTo get the account BOC - use `net.query` method to download it from GraphQL API\n(field `boc` of `account`) or generate it with `abi.encode_account` method.\n\nAlso it requires message BOC. To get the message BOC - use `abi.encode_message` or `abi.encode_internal_message`.\n\nIf you need this emulation to be as precise as possible (for instance - emulate transaction\nwith particular lt in particular block or use particular blockchain config,\ndownloaded from a particular key block - then specify `execution_options` parameter.\n\nIf you need to see the aborted transaction as a result, not as an error, set `skip_transaction_check` to `true`.",
11088
11232
  "params": [
11089
11233
  {
11090
11234
  "name": "context",
@@ -11310,6 +11454,20 @@
11310
11454
  "value": "615",
11311
11455
  "summary": null,
11312
11456
  "description": null
11457
+ },
11458
+ {
11459
+ "name": "QueryTransactionTreeTimeout",
11460
+ "type": "Number",
11461
+ "value": "616",
11462
+ "summary": null,
11463
+ "description": null
11464
+ },
11465
+ {
11466
+ "name": "GraphqlConnectionError",
11467
+ "type": "Number",
11468
+ "value": "617",
11469
+ "summary": null,
11470
+ "description": null
11313
11471
  }
11314
11472
  ],
11315
11473
  "summary": null,
@@ -12049,7 +12207,18 @@
12049
12207
  "number_size": 32
12050
12208
  },
12051
12209
  "summary": "Timeout used to limit waiting time for the missing messages and transaction.",
12052
- "description": "If some of the following messages and transactions are missing yet\nThe maximum waiting time is regulated by this option.\n\nDefault value is 60000 (1 min)."
12210
+ "description": "If some of the following messages and transactions are missing yet\nThe maximum waiting time is regulated by this option.\n\nDefault value is 60000 (1 min). If `timeout` is set to 0 then function will wait infinitely\nuntil the whole transaction tree is executed"
12211
+ },
12212
+ {
12213
+ "name": "transaction_max_count",
12214
+ "type": "Optional",
12215
+ "optional_inner": {
12216
+ "type": "Number",
12217
+ "number_type": "UInt",
12218
+ "number_size": 32
12219
+ },
12220
+ "summary": "Maximum transaction count to wait.",
12221
+ "description": "If transaction tree contains more transaction then this parameter then only first `transaction_max_count` transaction are awaited and returned.\n\nDefault value is 50. If `transaction_max_count` is set to 0 then no limitation on\ntransaction count is used and all transaction are returned."
12053
12222
  }
12054
12223
  ],
12055
12224
  "summary": null,
@@ -12617,7 +12786,7 @@
12617
12786
  {
12618
12787
  "name": "subscribe",
12619
12788
  "summary": "Creates a subscription",
12620
- "description": "The subscription is a persistent communication channel between\nclient and Everscale Network.\n\n### Important Notes on Subscriptions\n\nUnfortunately sometimes the connection with the network breakes down.\nIn this situation the library attempts to reconnect to the network.\nThis reconnection sequence can take significant time.\nAll of this time the client is disconnected from the network.\n\nBad news is that all changes that happened while\nthe client was disconnected are lost.\n\nGood news is that the client report errors to the callback when\nit loses and resumes connection.\n\nSo, if the lost changes are important to the application then\nthe application must handle these error reports.\n\nLibrary reports errors with `responseType` == 101\nand the error object passed via `params`.\n\nWhen the library has successfully reconnected\nthe application receives callback with\n`responseType` == 101 and `params.code` == 614 (NetworkModuleResumed).\n\nApplication can use several ways to handle this situation:\n- If application monitors changes for the single\nobject (for example specific account): application\ncan perform a query for this object and handle actual data as a\nregular data from the subscription.\n- If application monitors sequence of some objects\n(for example transactions of the specific account): application must\nrefresh all cached (or visible to user) lists where this sequences presents.",
12789
+ "description": "The subscription is a persistent communication channel between\nclient and Everscale Network.\n\n### Important Notes on Subscriptions\n\nUnfortunately sometimes the connection with the network breaks down.\nIn this situation the library attempts to reconnect to the network.\nThis reconnection sequence can take significant time.\nAll of this time the client is disconnected from the network.\n\nBad news is that all changes that happened while\nthe client was disconnected are lost.\n\nGood news is that the client report errors to the callback when\nit loses and resumes connection.\n\nSo, if the lost changes are important to the application then\nthe application must handle these error reports.\n\nLibrary reports errors with `responseType` == 101\nand the error object passed via `params`.\n\nWhen the library has successfully reconnected\nthe application receives callback with\n`responseType` == 101 and `params.code` == 614 (NetworkModuleResumed).\n\nApplication can use several ways to handle this situation:\n- If application monitors changes for the single\nobject (for example specific account): application\ncan perform a query for this object and handle actual data as a\nregular data from the subscription.\n- If application monitors sequence of some objects\n(for example transactions of the specific account): application must\nrefresh all cached (or visible to user) lists where this sequences presents.",
12621
12790
  "params": [
12622
12791
  {
12623
12792
  "name": "context",
@@ -12903,7 +13072,7 @@
12903
13072
  {
12904
13073
  "name": "query_transaction_tree",
12905
13074
  "summary": "Returns a tree of transactions triggered by a specific message.",
12906
- "description": "Performs recursive retrieval of a transactions tree produced by a specific message:\nin_msg -> dst_transaction -> out_messages -> dst_transaction -> ...\nIf the chain of transactions execution is in progress while the function is running,\nit will wait for the next transactions to appear until the full tree or more than 50 transactions\nare received.\n\nAll the retrieved messages and transactions are included\ninto `result.messages` and `result.transactions` respectively.\n\nFunction reads transactions layer by layer, by pages of 20 transactions.\n\nThe retrieval prosess goes like this:\nLet's assume we have an infinite chain of transactions and each transaction generates 5 messages.\n1. Retrieve 1st message (input parameter) and corresponding transaction - put it into result.\nIt is the first level of the tree of transactions - its root.\nRetrieve 5 out message ids from the transaction for next steps.\n2. Retrieve 5 messages and corresponding transactions on the 2nd layer. Put them into result.\nRetrieve 5*5 out message ids from these transactions for next steps\n3. Retrieve 20 (size of the page) messages and transactions (3rd layer) and 20*5=100 message ids (4th layer).\n4. Retrieve the last 5 messages and 5 transactions on the 3rd layer + 15 messages and transactions (of 100) from the 4th layer\n+ 25 message ids of the 4th layer + 75 message ids of the 5th layer.\n5. Retrieve 20 more messages and 20 more transactions of the 4th layer + 100 more message ids of the 5th layer.\n6. Now we have 1+5+20+20+20 = 66 transactions, which is more than 50. Function exits with the tree of\n1m->1t->5m->5t->25m->25t->35m->35t. If we see any message ids in the last transactions out_msgs, which don't have\ncorresponding messages in the function result, it means that the full tree was not received and we need to continue iteration.\n\nTo summarize, it is guaranteed that each message in `result.messages` has the corresponding transaction\nin the `result.transactions`.\nBut there is no guarantee that all messages from transactions `out_msgs` are\npresented in `result.messages`.\nSo the application has to continue retrieval for missing messages if it requires.",
13075
+ "description": "Performs recursive retrieval of a transactions tree produced by a specific message:\nin_msg -> dst_transaction -> out_messages -> dst_transaction -> ...\nIf the chain of transactions execution is in progress while the function is running,\nit will wait for the next transactions to appear until the full tree or more than 50 transactions\nare received.\n\nAll the retrieved messages and transactions are included\ninto `result.messages` and `result.transactions` respectively.\n\nFunction reads transactions layer by layer, by pages of 20 transactions.\n\nThe retrieval process goes like this:\nLet's assume we have an infinite chain of transactions and each transaction generates 5 messages.\n1. Retrieve 1st message (input parameter) and corresponding transaction - put it into result.\nIt is the first level of the tree of transactions - its root.\nRetrieve 5 out message ids from the transaction for next steps.\n2. Retrieve 5 messages and corresponding transactions on the 2nd layer. Put them into result.\nRetrieve 5*5 out message ids from these transactions for next steps\n3. Retrieve 20 (size of the page) messages and transactions (3rd layer) and 20*5=100 message ids (4th layer).\n4. Retrieve the last 5 messages and 5 transactions on the 3rd layer + 15 messages and transactions (of 100) from the 4th layer\n+ 25 message ids of the 4th layer + 75 message ids of the 5th layer.\n5. Retrieve 20 more messages and 20 more transactions of the 4th layer + 100 more message ids of the 5th layer.\n6. Now we have 1+5+20+20+20 = 66 transactions, which is more than 50. Function exits with the tree of\n1m->1t->5m->5t->25m->25t->35m->35t. If we see any message ids in the last transactions out_msgs, which don't have\ncorresponding messages in the function result, it means that the full tree was not received and we need to continue iteration.\n\nTo summarize, it is guaranteed that each message in `result.messages` has the corresponding transaction\nin the `result.transactions`.\nBut there is no guarantee that all messages from transactions `out_msgs` are\npresented in `result.messages`.\nSo the application has to continue retrieval for missing messages if it requires.",
12907
13076
  "params": [
12908
13077
  {
12909
13078
  "name": "context",
@@ -12979,7 +13148,7 @@
12979
13148
  {
12980
13149
  "name": "resume_block_iterator",
12981
13150
  "summary": "Resumes block iterator.",
12982
- "description": "The iterator stays exactly at the same position where the `resume_state` was catched.\n\nApplication should call the `remove_iterator` when iterator is no longer required.",
13151
+ "description": "The iterator stays exactly at the same position where the `resume_state` was caught.\n\nApplication should call the `remove_iterator` when iterator is no longer required.",
12983
13152
  "params": [
12984
13153
  {
12985
13154
  "name": "context",
@@ -80,18 +80,35 @@ client = TonClient.create(config: {network: {endpoints: ["https://eri01.net.ever
80
80
 
81
81
  # All methods are asynchronous
82
82
 
83
- # example: call method for Crypto module
83
+ ## example 1: call method for Crypto module
84
84
  payload = {composite: '17ED48941A08F981'}
85
85
 
86
86
  # Sync
87
87
  response = client.crypto.factorize_sync(payload)
88
- p response
88
+ p response['result']['factors']
89
89
 
90
90
  # Async
91
91
  client.crypto.factorize(payload) do |response|
92
92
  p response.result['factors']
93
93
  end
94
94
 
95
+
96
+ ## example 2: parse message from boc base64 encoded
97
+ payload = {boc: "te6ccgEBAQEAWAAAq2n+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE/zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzSsG8DgAAAAAjuOu9NAL7BxYpA"}
98
+
99
+ # Sync
100
+ response = client.boc.parse_message_sync(payload)
101
+ p response['result']['parsed']['id']
102
+ p response['result']['parsed']['src']
103
+ p response['result']['parsed']['dst']
104
+
105
+ # Async
106
+ client.boc.parse_message_sync(payload) do |response|
107
+ p response.result['parsed']['id']
108
+ p response.result['parsed']['src']
109
+ p response.result['parsed']['dst']
110
+ end
111
+
95
112
  # e.g. ...
96
113
  ```\n\n
97
114
  }
@@ -128,6 +128,8 @@ module TonClient
128
128
  # abi: Value - # # contract ABI
129
129
  # message: String - # # Message BOC
130
130
  # allow_partial: Boolean<Optional> - # # Flag allowing partial BOC decoding when ABI doesn't describe the full body BOC. Controls decoder behaviour when after decoding all described in ABI params there are some data left in BOC: `true` - return decoded values `false` - return error of incomplete BOC deserialization (default)
131
+ # function_name: String<Optional> - # # Function name or function id if is known in advance
132
+ # data_layout: DataLayout<Optional> -
131
133
  # RESPONSE: DecodedMessageBody
132
134
  # body_type: MessageBodyType - # # Type of the message body content.
133
135
  # name: String - # # Function or event name.
@@ -148,6 +150,8 @@ module TonClient
148
150
  # body: String - # # Message body BOC encoded in `base64`.
149
151
  # is_internal: Boolean - # # True if the body belongs to the internal message.
150
152
  # allow_partial: Boolean<Optional> - # # Flag allowing partial BOC decoding when ABI doesn't describe the full body BOC. Controls decoder behaviour when after decoding all described in ABI params there are some data left in BOC: `true` - return decoded values `false` - return error of incomplete BOC deserialization (default)
153
+ # function_name: String<Optional> - # # Function name or function id if is known in advance
154
+ # data_layout: DataLayout<Optional> -
151
155
  # RESPONSE: DecodedMessageBody
152
156
  # body_type: MessageBodyType - # # Type of the message body content.
153
157
  # name: String - # # Function or event name.
@@ -298,6 +302,22 @@ module TonClient
298
302
  TonBinding.send_request_sync(context: context, method_name: full_method_name(MODULE, __method__.to_s).sub(/_sync$/, ''), payload: payload)
299
303
  end
300
304
 
305
+ # INPUT: ParamsOfGetSignatureData
306
+ # abi: Value - # # Contract ABI used to decode.
307
+ # message: String - # # Message BOC encoded in `base64`.
308
+ # RESPONSE: ResultOfGetSignatureData
309
+ # signature: String - # # Signature from the message in `hex`.
310
+ # hash: String - # # Hash to verify the signature in `base64`.
311
+ # Async
312
+ def get_signature_data(payload, &block)
313
+ TonBinding.requestLibrary(context: context, request_id: request_id, requests: requests, monitor: monitor, method_name: full_method_name(MODULE, __method__.to_s), payload: payload, &block)
314
+ end
315
+
316
+ # Sync
317
+ def get_signature_data_sync(payload)
318
+ TonBinding.send_request_sync(context: context, method_name: full_method_name(MODULE, __method__.to_s).sub(/_sync$/, ''), payload: payload)
319
+ end
320
+
301
321
  end
302
322
  end
303
323
 
@@ -71,7 +71,7 @@ module TonClient
71
71
 
72
72
  # INPUT: ParamsOfParseShardstate
73
73
  # boc: String - # # BOC encoded as base64
74
- # id: String - # # Shardstate identificator
74
+ # id: String - # # Shardstate identifier
75
75
  # workchain_id: Number - # # Workchain shardstate belongs to
76
76
  # RESPONSE: ResultOfParse
77
77
  # parsed: Value - # # JSON containing parsed BOC
@@ -229,7 +229,9 @@ module TonClient
229
229
  # in_msg: String - # # Input message id.
230
230
  # abi_registry: Array<Optional> - # # List of contract ABIs that will be used to decode message bodies. Library will try to decode each returned message body using any ABI from the registry.
231
231
  # timeout: Number<Optional> - # # Timeout used to limit waiting time for the missing messages and transaction. # # If some of the following messages and transactions are missing yetThe maximum waiting time is regulated by this option.
232
- # Default value is 60000 (1 min).
232
+ # Default value is 60000 (1 min). If `timeout` is set to 0 then function will wait infinitelyuntil the whole transaction tree is executed
233
+ # transaction_max_count: Number<Optional> - # # Maximum transaction count to wait. # # If transaction tree contains more transaction then this parameter then only first `transaction_max_count` transaction are awaited and returned.
234
+ # Default value is 50. If `transaction_max_count` is set to 0 then no limitation ontransaction count is used and all transaction are returned.
233
235
  # RESPONSE: ResultOfQueryTransactionTree
234
236
  # messages: Array - # # Messages.
235
237
  # transactions: Array - # # Transactions.
@@ -1,4 +1,4 @@
1
1
  module TonClient
2
- VERSION = "1.1.61"
2
+ VERSION = "1.1.63"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: everscale-client-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.61
4
+ version: 1.1.63
5
5
  platform: ruby
6
6
  authors:
7
7
  - nerzh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-23 00:00:00.000000000 Z
11
+ date: 2023-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi