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 +76 -11
- package/dist/koinos.min.js +1 -1
- package/lib/Contract.js +6 -1
- package/lib/Contract.js.map +1 -1
- package/lib/Provider.d.ts +7 -7
- package/lib/Provider.js +31 -10
- package/lib/Provider.js.map +1 -1
- package/lib/browser/Contract.js +6 -1
- package/lib/browser/Contract.js.map +1 -1
- package/lib/browser/Provider.d.ts +7 -7
- package/lib/browser/Provider.js +31 -10
- package/lib/browser/Provider.js.map +1 -1
- package/lib/browser/interface.d.ts +6 -4
- package/lib/browser/utils.js +39 -0
- package/lib/browser/utils.js.map +1 -1
- package/lib/interface.d.ts +6 -4
- package/lib/utils.js +39 -0
- package/lib/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/Contract.ts +6 -1
- package/src/Provider.ts +54 -25
- package/src/interface.ts +6 -4
- package/src/utils.ts +39 -0
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].
|
|
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 = "
|
|
23599
|
-
const
|
|
23603
|
+
async wait(txId, type = "byTransactionId", timeout = 15000) {
|
|
23604
|
+
const endTime = Date.now() + timeout;
|
|
23600
23605
|
if (type === "byTransactionId") {
|
|
23601
|
-
while (Date.now() <
|
|
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
|
-
|
|
23608
|
-
|
|
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() <
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
};
|