koilib 8.1.0 → 9.0.0

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/koinos.js CHANGED
@@ -23130,7 +23130,12 @@ class Contract {
23130
23130
  throw new Error("Serializer is not defined");
23131
23131
  let typeName = event.name;
23132
23132
  if (this.abi && this.abi.events && this.abi.events[event.name]) {
23133
- typeName = this.abi.events[event.name].argument;
23133
+ typeName = this.abi.events[event.name].type;
23134
+ // temporary code for transition between "argument" and "type".
23135
+ // It should be removed in future versions
23136
+ if (!typeName) {
23137
+ typeName = this.abi.events[event.name].argument;
23138
+ }
23134
23139
  }
23135
23140
  const args = typeName
23136
23141
  ? await this.serializer.deserialize(event.data, typeName)
@@ -23595,18 +23600,39 @@ class Provider {
23595
23600
  * console.log("Transaction mined")
23596
23601
  * ```
23597
23602
  */
23598
- async wait(txId, type = "byBlock", timeout = 15000) {
23599
- const iniTime = Date.now();
23603
+ async wait(txId, type = "byTransactionId", timeout = 15000) {
23604
+ const endTime = Date.now() + timeout;
23600
23605
  if (type === "byTransactionId") {
23601
- while (Date.now() < iniTime + timeout) {
23606
+ while (Date.now() < endTime) {
23602
23607
  await sleep(1000);
23603
23608
  const { transactions } = await this.getTransactionsById([txId]);
23609
+ // If the API node knows about the transaction and
23610
+ // the transaction has been included in a block
23604
23611
  if (transactions &&
23605
23612
  transactions[0] &&
23606
- transactions[0].containing_blocks)
23607
- return {
23608
- blockId: transactions[0].containing_blocks[0],
23609
- };
23613
+ transactions[0].containing_blocks) {
23614
+ // For each of the blocks containing the transaction,
23615
+ // check to see if that block is a parent of head
23616
+ // Get the height of the containing block
23617
+ const blockCandidates = transactions[0].containing_blocks;
23618
+ const blocks = await this.getBlocksById(blockCandidates, {
23619
+ returnBlock: false,
23620
+ returnReceipt: false,
23621
+ });
23622
+ if (blocks && blocks.block_items && blocks.block_items.length > 0) {
23623
+ for (let i = 0; i < blocks.block_items.length; i += 1) {
23624
+ // If the ancestor block of head at the height of the containing
23625
+ // block is the containing block, return that block
23626
+ const blockNumber = Number(blocks.block_items[i].block_height);
23627
+ const blocksHeight = await this.getBlocks(blockNumber);
23628
+ if (blocksHeight) {
23629
+ const blockId = blockCandidates.find((b) => b === blocksHeight[0].block_id);
23630
+ if (blockId)
23631
+ return { blockId, blockNumber };
23632
+ }
23633
+ }
23634
+ }
23635
+ }
23610
23636
  }
23611
23637
  throw new Error(`Transaction not mined after ${timeout} ms`);
23612
23638
  }
@@ -23633,7 +23659,7 @@ class Provider {
23633
23659
  let blockNumber = 0;
23634
23660
  let iniBlock = 0;
23635
23661
  let previousId = "";
23636
- while (Date.now() < iniTime + timeout) {
23662
+ while (Date.now() < endTime) {
23637
23663
  await sleep(1000);
23638
23664
  const { head_topology: headTopology } = await this.getHeadInfo();
23639
23665
  if (blockNumber === 0) {
@@ -23760,7 +23786,7 @@ class Provider {
23760
23786
  caller_data: callerData,
23761
23787
  });
23762
23788
  if (!response || !response.value)
23763
- throw new Error("no value in the response");
23789
+ return undefined;
23764
23790
  const result = await serializer.deserialize(response.value, serializer.returnTypeName);
23765
23791
  return result;
23766
23792
  }
@@ -23849,7 +23875,7 @@ class Provider {
23849
23875
  * @param name - contract name
23850
23876
  *
23851
23877
  * @example
23852
- * * ```ts
23878
+ * ```ts
23853
23879
  * const provider = new Provider("https://api.koinos.io");
23854
23880
  * const result = await provider.invokeGetContractAddress("koin");
23855
23881
  * console.log(result);
@@ -25690,6 +25716,13 @@ exports.tokenAbi = {
25690
25716
  read_only: false,
25691
25717
  entry_point: 0xdc6f17bb,
25692
25718
  },
25719
+ burn: {
25720
+ argument: "token.burn_args",
25721
+ return: "",
25722
+ description: "Burn tokens",
25723
+ read_only: false,
25724
+ entry_point: 0x859facc5,
25725
+ },
25693
25726
  },
25694
25727
  types: "CpoICiJrb2lub3MvY29udHJhY3RzL3Rva2VuL3Rva2VuLnByb3RvEhZrb2lub3MuY29udHJhY3RzLnRva2VuGhRrb2lub3Mvb3B0aW9ucy5wcm90byIQCg5uYW1lX2FyZ3VtZW50cyIjCgtuYW1lX3Jlc3VsdBIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUiEgoQc3ltYm9sX2FyZ3VtZW50cyIlCg1zeW1ib2xfcmVzdWx0EhQKBXZhbHVlGAEgASgJUgV2YWx1ZSIUChJkZWNpbWFsc19hcmd1bWVudHMiJwoPZGVjaW1hbHNfcmVzdWx0EhQKBXZhbHVlGAEgASgNUgV2YWx1ZSIYChZ0b3RhbF9zdXBwbHlfYXJndW1lbnRzIi8KE3RvdGFsX3N1cHBseV9yZXN1bHQSGAoFdmFsdWUYASABKARCAjABUgV2YWx1ZSIyChRiYWxhbmNlX29mX2FyZ3VtZW50cxIaCgVvd25lchgBIAEoDEIEgLUYBlIFb3duZXIiLQoRYmFsYW5jZV9vZl9yZXN1bHQSGAoFdmFsdWUYASABKARCAjABUgV2YWx1ZSJeChJ0cmFuc2Zlcl9hcmd1bWVudHMSGAoEZnJvbRgBIAEoDEIEgLUYBlIEZnJvbRIUCgJ0bxgCIAEoDEIEgLUYBlICdG8SGAoFdmFsdWUYAyABKARCAjABUgV2YWx1ZSIRCg90cmFuc2Zlcl9yZXN1bHQiQAoObWludF9hcmd1bWVudHMSFAoCdG8YASABKAxCBIC1GAZSAnRvEhgKBXZhbHVlGAIgASgEQgIwAVIFdmFsdWUiDQoLbWludF9yZXN1bHQiRAoOYnVybl9hcmd1bWVudHMSGAoEZnJvbRgBIAEoDEIEgLUYBlIEZnJvbRIYCgV2YWx1ZRgCIAEoBEICMAFSBXZhbHVlIg0KC2J1cm5fcmVzdWx0IioKDmJhbGFuY2Vfb2JqZWN0EhgKBXZhbHVlGAEgASgEQgIwAVIFdmFsdWUiQAoKYnVybl9ldmVudBIYCgRmcm9tGAEgASgMQgSAtRgGUgRmcm9tEhgKBXZhbHVlGAIgASgEQgIwAVIFdmFsdWUiPAoKbWludF9ldmVudBIUCgJ0bxgBIAEoDEIEgLUYBlICdG8SGAoFdmFsdWUYAiABKARCAjABUgV2YWx1ZSJaCg50cmFuc2Zl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",
25695
25728
  koilib_types: {
@@ -26268,6 +26301,20 @@ exports.tokenAbi = {
26268
26301
  },
26269
26302
  },
26270
26303
  },
26304
+ events: {
26305
+ "token.mint_event": {
26306
+ argument: "token.mint_args",
26307
+ type: "token.mint_args",
26308
+ },
26309
+ "token.transfer_event": {
26310
+ argument: "token.transfer_args",
26311
+ type: "token.transfer_args",
26312
+ },
26313
+ "token.burn_event": {
26314
+ argument: "token.burn_args",
26315
+ type: "token.burn_args",
26316
+ },
26317
+ },
26271
26318
  };
26272
26319
  /**
26273
26320
  * ABI for NFTs
@@ -26452,6 +26499,13 @@ exports.nftAbi = {
26452
26499
  read_only: false,
26453
26500
  entry_point: 0xdc6f17bb,
26454
26501
  },
26502
+ burn: {
26503
+ argument: "nft.burn_args",
26504
+ return: "",
26505
+ description: "Burn NFT",
26506
+ read_only: false,
26507
+ entry_point: 0x859facc5,
26508
+ },
26455
26509
  },
26456
26510
  types: "CoQDCidrb2lub3Nib3gtcHJvdG8vbWFuYXNoYXJlci9jb21tb24ucHJvdG8SBmNvbW1vbhoUa29pbm9zL29wdGlvbnMucHJvdG8iGwoDc3RyEhQKBXZhbHVlGAEgASgJUgV2YWx1ZSIeCgZ1aW50MzISFAoFdmFsdWUYASABKA1SBXZhbHVlIiIKBnVpbnQ2NBIYCgV2YWx1ZRgBIAEoBEICMAFSBXZhbHVlIh0KBWJvb2xlEhQKBXZhbHVlGAEgASgIUgV2YWx1ZSIlCgdhZGRyZXNzEhoKBXZhbHVlGAEgASgMQgSAtRgGUgV2YWx1ZSJdCglsaXN0X2FyZ3MSGgoFc3RhcnQYASABKAxCBIC1GAZSBXN0YXJ0EhQKBWxpbWl0GAIgASgFUgVsaW1pdBIeCgpkZXNjZW5kaW5nGAMgASgIUgpkZXNjZW5kaW5nIi0KCWFkZHJlc3NlcxIgCghhY2NvdW50cxgBIAMoDEIEgLUYBlIIYWNjb3VudHNiBnByb3RvMwqQDAoJbmZ0LnByb3RvEgNuZnQaFGtvaW5vcy9vcHRpb25zLnByb3RvIk0KB3JveWFsdHkSIgoKcGVyY2VudGFnZRgBIAEoBEICMAFSCnBlcmNlbnRhZ2USHgoHYWRkcmVzcxgCIAEoDEIEgLUYBlIHYWRkcmVzcyIvCglyb3lhbHRpZXMSIgoFdmFsdWUYASADKAsyDC5uZnQucm95YWx0eVIFdmFsdWUiTAoNbWV0YWRhdGFfYXJncxIfCgh0b2tlbl9pZBgBIAEoDEIEgLUYAlIHdG9rZW5JZBIaCghtZXRhZGF0YRgCIAEoCVIIbWV0YWRhdGEiZgoEaW5mbxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBnN5bWJvbBgCIAEoCVIGc3ltYm9sEhAKA3VyaRgDIAEoCVIDdXJpEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbiItCg9iYWxhbmNlX29mX2FyZ3MSGgoFb3duZXIYASABKAxCBIC1GAZSBW93bmVyIigKBXRva2VuEh8KCHRva2VuX2lkGAEgASgMQgSAtRgCUgd0b2tlbklkIlgKGGlzX2FwcHJvdmVkX2Zvcl9hbGxfYXJncxIaCgVvd25lchgBIAEoDEIEgLUYBlIFb3duZXISIAoIb3BlcmF0b3IYAiABKAxCBIC1GAZSCG9wZXJhdG9yIkIKCW1pbnRfYXJncxIUCgJ0bxgBIAEoDEIEgLUYBlICdG8SHwoIdG9rZW5faWQYAiABKAxCBIC1GAJSB3Rva2VuSWQiLAoJYnVybl9hcmdzEh8KCHRva2VuX2lkGAEgASgMQgSAtRgCUgd0b2tlbklkInQKDXRyYW5zZmVyX2FyZ3MSGAoEZnJvbRgBIAEoDEIEgLUYBlIEZnJvbRIUCgJ0bxgCIAEoDEIEgLUYBlICdG8SHwoIdG9rZW5faWQYAyABKAxCBIC1GAJSB3Rva2VuSWQSEgoEbWVtbxgEIAEoCVIEbWVtbyJ2CgxhcHByb3ZlX2FyZ3MSLwoQYXBwcm92ZXJfYWRkcmVzcxgBIAEoDEIEgLUYBlIPYXBwcm92ZXJBZGRyZXNzEhQKAnRvGAIgASgMQgSAtRgGUgJ0bxIfCgh0b2tlbl9pZBgDIAEoDEIEgLUYAlIHdG9rZW5JZCKZAQoZc2V0X2FwcHJvdmFsX2Zvcl9hbGxfYXJncxIvChBhcHByb3Zlcl9hZGRyZXNzGAEgASgMQgSAtRgGUg9hcHByb3ZlckFkZHJlc3MSLwoQb3BlcmF0b3JfYWRkcmVzcxgCIAEoDEIEgLUYBlIPb3BlcmF0b3JBZGRyZXNzEhoKCGFwcHJvdmVkGAMgASgIUghhcHByb3ZlZCKCAQoSZ2V0X29wZXJhdG9yc19hcmdzEhoKBW93bmVyGAEgASgMQgSAtRgGUgVvd25lchIaCgVzdGFydBgCIAEoDEIEgLUYBlIFc3RhcnQSFAoFbGltaXQYAyABKAVSBWxpbWl0Eh4KCmRlc2NlbmRpbmcYBCABKAhSCmRlc2NlbmRpbmciVgoUZ2V0X29wZXJhdG9yc19yZXR1cm4SGgoFb3duZXIYASABKAxCBIC1GAZSBW93bmVyEiIKCW9wZXJhdG9ycxgCIAMoDEIEgLUYBlIJb3BlcmF0b3JzImMKD2dldF90b2tlbnNfYXJncxIaCgVzdGFydBgBIAEoDEIEgLUYAlIFc3RhcnQSFAoFbGltaXQYAiABKAVSBWxpbWl0Eh4KCmRlc2NlbmRpbmcYAyABKAhSCmRlc2NlbmRpbmciiAEKGGdldF90b2tlbnNfYnlfb3duZXJfYXJncxIaCgVvd25lchgBIAEoDEIEgLUYBlIFb3duZXISGgoFc3RhcnQYAiABKAxCBIC1GAJSBXN0YXJ0EhQKBWxpbWl0GAMgASgFUgVsaW1pdBIeCgpkZXNjZW5kaW5nGAQgASgIUgpkZXNjZW5kaW5nIi4KCXRva2VuX2lkcxIhCgl0b2tlbl9pZHMYASADKAxCBIC1GAJSCHRva2VuSWRzYgZwcm90bzM=",
26457
26511
  koilib_types: {
@@ -26881,24 +26935,35 @@ exports.nftAbi = {
26881
26935
  events: {
26882
26936
  "collections.owner_event": {
26883
26937
  argument: "common.address",
26938
+ type: "common.address",
26884
26939
  },
26885
26940
  "collections.royalties_event": {
26886
26941
  argument: "nft.royalties",
26942
+ type: "nft.royalties",
26887
26943
  },
26888
26944
  "collections.set_metadata_event": {
26889
26945
  argument: "nft.metadata_args",
26946
+ type: "nft.metadata_args",
26890
26947
  },
26891
26948
  "collections.token_approval_event": {
26892
26949
  argument: "nft.approve_args",
26950
+ type: "nft.approve_args",
26893
26951
  },
26894
26952
  "collections.operator_approval_event": {
26895
26953
  argument: "nft.set_approval_for_all_args",
26954
+ type: "nft.set_approval_for_all_args",
26896
26955
  },
26897
26956
  "collections.transfer_event": {
26898
26957
  argument: "nft.transfer_args",
26958
+ type: "nft.transfer_args",
26899
26959
  },
26900
26960
  "collections.mint_event": {
26901
26961
  argument: "nft.mint_args",
26962
+ type: "nft.mint_args",
26963
+ },
26964
+ "collections.burn_event": {
26965
+ argument: "nft.burn_args",
26966
+ type: "nft.burn_args",
26902
26967
  },
26903
26968
  },
26904
26969
  };