opnet 1.0.13 → 1.0.15

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.
Files changed (253) hide show
  1. package/CONTRIBUTING.md +71 -0
  2. package/README.md +6 -7
  3. package/browser/_version.d.ts +1 -1
  4. package/browser/abi/BaseContractProperty.d.ts +3 -0
  5. package/browser/abi/BitcoinAbiTypes.d.ts +4 -0
  6. package/browser/abi/BitcoinInterface.d.ts +9 -0
  7. package/browser/abi/interfaces/BaseContractProperties.d.ts +4 -0
  8. package/browser/abi/interfaces/BitcoinAbiValue.d.ts +5 -0
  9. package/browser/abi/interfaces/BitcoinInterfaceAbi.d.ts +11 -0
  10. package/browser/bitcoin/UTXOs.d.ts +1 -6
  11. package/browser/bitcoin/interfaces/IUTXO.d.ts +7 -0
  12. package/browser/common/CommonTypes.d.ts +1 -0
  13. package/browser/contracts/CallResult.d.ts +6 -3
  14. package/browser/contracts/Contract.d.ts +28 -0
  15. package/browser/contracts/interfaces/ICallResult.d.ts +2 -3
  16. package/browser/contracts/interfaces/IContract.d.ts +4 -0
  17. package/browser/crypto/crypto-browser.d.ts +7 -0
  18. package/browser/index.js +1 -1
  19. package/browser/opnet.d.ts +11 -0
  20. package/browser/scripts/testContract.d.ts +1 -0
  21. package/browser/scripts/testMethods.d.ts +1 -0
  22. package/browser/utils/BitcoinUtils.d.ts +4 -0
  23. package/build/_version.d.ts +1 -1
  24. package/build/_version.js +1 -1
  25. package/build/abi/BaseContractProperty.d.ts +3 -0
  26. package/build/abi/BaseContractProperty.js +1 -0
  27. package/build/abi/BitcoinAbiTypes.d.ts +4 -0
  28. package/build/abi/BitcoinAbiTypes.js +5 -0
  29. package/build/abi/BitcoinInterface.d.ts +9 -0
  30. package/build/abi/BitcoinInterface.js +45 -0
  31. package/build/abi/BitcoinInterfaceAbi.d.ts +3 -0
  32. package/build/abi/BitcoinInterfaceAbi.js +1 -0
  33. package/build/abi/enums/ParamTypes.d.ts +0 -0
  34. package/build/abi/enums/ParamTypes.js +1 -0
  35. package/build/abi/interface/BitcoinInterface.d.ts +6 -0
  36. package/build/abi/interface/BitcoinInterface.js +12 -0
  37. package/build/abi/interface/BitcoinInterfaceAbi.d.ts +3 -0
  38. package/build/abi/interface/BitcoinInterfaceAbi.js +1 -0
  39. package/build/abi/interfaces/BaseContractProperties.d.ts +4 -0
  40. package/build/abi/interfaces/BaseContractProperties.js +1 -0
  41. package/build/abi/interfaces/BaseContractProperty.d.ts +2 -0
  42. package/build/abi/interfaces/BaseContractProperty.js +1 -0
  43. package/build/abi/interfaces/BitcoinAbiInput.d.ts +5 -0
  44. package/build/abi/interfaces/BitcoinAbiInput.js +1 -0
  45. package/build/abi/interfaces/BitcoinAbiValue.d.ts +5 -0
  46. package/build/abi/interfaces/BitcoinAbiValue.js +1 -0
  47. package/build/abi/interfaces/BitcoinInterfaceAbi.d.ts +11 -0
  48. package/build/abi/interfaces/BitcoinInterfaceAbi.js +1 -0
  49. package/build/bitcoin/UTXOs.d.ts +1 -6
  50. package/build/bitcoin/interfaces/IUTXO.d.ts +7 -0
  51. package/build/bitcoin/interfaces/IUTXO.js +1 -0
  52. package/build/common/CommonTypes.d.ts +1 -0
  53. package/build/contracts/CallResult.d.ts +6 -3
  54. package/build/contracts/CallResult.js +9 -2
  55. package/build/contracts/Contract.d.ts +28 -0
  56. package/build/contracts/Contract.js +206 -0
  57. package/build/contracts/interfaces/ICallResult.d.ts +2 -3
  58. package/build/contracts/interfaces/IContract.d.ts +4 -0
  59. package/build/contracts/interfaces/IContract.js +1 -0
  60. package/build/interface/BitcoinInterface.d.ts +6 -0
  61. package/build/interface/BitcoinInterface.js +12 -0
  62. package/build/interface/BitcoinInterfaceAbi.d.ts +3 -0
  63. package/build/interface/BitcoinInterfaceAbi.js +1 -0
  64. package/build/interface/Interface.d.ts +2 -0
  65. package/build/interface/Interface.js +2 -0
  66. package/build/interface.d.ts +0 -0
  67. package/build/interface.js +1 -0
  68. package/build/opnet.d.ts +11 -0
  69. package/build/opnet.js +11 -0
  70. package/build/scripts/test.js +12 -0
  71. package/build/scripts/testContract.d.ts +1 -0
  72. package/build/scripts/testContract.js +28 -0
  73. package/build/scripts/testMethods.d.ts +1 -0
  74. package/build/scripts/testMethods.js +24 -0
  75. package/build/utils/BitcoinUtils.d.ts +4 -0
  76. package/build/utils/BitcoinUtils.js +7 -0
  77. package/cjs/_version.d.ts +1 -0
  78. package/cjs/_version.js +4 -0
  79. package/cjs/abi/BaseContractProperty.d.ts +3 -0
  80. package/cjs/abi/BaseContractProperty.js +2 -0
  81. package/cjs/abi/BitcoinAbiTypes.d.ts +4 -0
  82. package/cjs/abi/BitcoinAbiTypes.js +8 -0
  83. package/cjs/abi/BitcoinInterface.d.ts +9 -0
  84. package/cjs/abi/BitcoinInterface.js +49 -0
  85. package/cjs/abi/interfaces/BaseContractProperties.d.ts +4 -0
  86. package/cjs/abi/interfaces/BaseContractProperties.js +2 -0
  87. package/cjs/abi/interfaces/BitcoinAbiValue.d.ts +5 -0
  88. package/cjs/abi/interfaces/BitcoinAbiValue.js +2 -0
  89. package/cjs/abi/interfaces/BitcoinInterfaceAbi.d.ts +11 -0
  90. package/cjs/abi/interfaces/BitcoinInterfaceAbi.js +2 -0
  91. package/cjs/bitcoin/BitcoinAddress.d.ts +20 -0
  92. package/cjs/bitcoin/BitcoinAddress.js +116 -0
  93. package/cjs/bitcoin/UTXOs.d.ts +15 -0
  94. package/cjs/bitcoin/UTXOs.js +16 -0
  95. package/cjs/block/Block.d.ts +2 -3
  96. package/cjs/block/Block.js +3 -28
  97. package/cjs/block/interfaces/IBlock.d.ts +28 -0
  98. package/cjs/block/interfaces/IBlock.js +2 -0
  99. package/cjs/common/CommonTypes.d.ts +4 -0
  100. package/cjs/common/CommonTypes.js +2 -0
  101. package/cjs/contracts/CallResult.d.ts +13 -0
  102. package/cjs/contracts/CallResult.js +25 -0
  103. package/cjs/contracts/Contract.d.ts +28 -0
  104. package/cjs/contracts/Contract.js +212 -0
  105. package/cjs/contracts/ContractData.d.ts +15 -0
  106. package/cjs/contracts/ContractData.js +36 -0
  107. package/cjs/contracts/interfaces/IAccessList.d.ts +6 -0
  108. package/cjs/contracts/interfaces/IAccessList.js +2 -0
  109. package/cjs/contracts/interfaces/ICallResult.d.ts +11 -0
  110. package/cjs/contracts/interfaces/ICallResult.js +2 -0
  111. package/cjs/contracts/interfaces/IContract.d.ts +4 -0
  112. package/cjs/contracts/interfaces/IContract.js +2 -0
  113. package/cjs/contracts/interfaces/IRawContract.d.ts +13 -0
  114. package/cjs/contracts/interfaces/IRawContract.js +2 -0
  115. package/cjs/crypto/crypto.d.ts +2 -0
  116. package/cjs/crypto/crypto.js +8 -0
  117. package/cjs/index.d.ts +3 -11
  118. package/cjs/index.js +16 -11
  119. package/cjs/opnet.d.ts +36 -0
  120. package/cjs/opnet.js +54 -0
  121. package/cjs/providers/AbstractRpcProvider.d.ts +34 -0
  122. package/cjs/providers/AbstractRpcProvider.js +161 -0
  123. package/cjs/providers/JSONRpcProvider.d.ts +5 -9
  124. package/cjs/providers/JSONRpcProvider.js +4 -29
  125. package/cjs/providers/WebsocketRpcProvider.d.ts +8 -0
  126. package/cjs/providers/WebsocketRpcProvider.js +27 -0
  127. package/cjs/scripts/testContract.d.ts +1 -0
  128. package/cjs/scripts/testContract.js +30 -0
  129. package/cjs/scripts/testMethods.d.ts +1 -0
  130. package/cjs/scripts/testMethods.js +26 -0
  131. package/cjs/serialize/BigInt.d.ts +6 -0
  132. package/cjs/serialize/BigInt.js +5 -0
  133. package/cjs/storage/StoredValue.d.ts +10 -0
  134. package/cjs/storage/StoredValue.js +28 -0
  135. package/cjs/storage/interfaces/IStorageValue.d.ts +9 -0
  136. package/cjs/storage/interfaces/IStorageValue.js +2 -0
  137. package/cjs/transactions/DeploymentTransaction.d.ts +10 -1
  138. package/cjs/transactions/DeploymentTransaction.js +16 -0
  139. package/cjs/transactions/GenericTransaction.d.ts +1 -1
  140. package/cjs/transactions/InteractionTransaction.d.ts +1 -1
  141. package/cjs/transactions/Transaction.d.ts +1 -1
  142. package/cjs/transactions/Transaction.js +1 -1
  143. package/cjs/transactions/TransactionParser.d.ts +7 -0
  144. package/cjs/transactions/TransactionParser.js +32 -0
  145. package/cjs/transactions/TransactionReceipt.d.ts +10 -0
  146. package/cjs/transactions/TransactionReceipt.js +16 -0
  147. package/cjs/transactions/interfaces/ITransaction.d.ts +39 -0
  148. package/cjs/transactions/interfaces/ITransaction.js +2 -0
  149. package/cjs/transactions/interfaces/ITransactionReceipt.d.ts +8 -0
  150. package/cjs/transactions/interfaces/ITransactionReceipt.js +2 -0
  151. package/cjs/utils/BitcoinUtils.d.ts +4 -0
  152. package/cjs/utils/BitcoinUtils.js +14 -0
  153. package/docs/assets/navigation.js +1 -1
  154. package/docs/assets/search.js +1 -1
  155. package/docs/classes/AbstractRpcProvider.html +15 -15
  156. package/docs/classes/BaseContract.html +187 -0
  157. package/docs/classes/BitcoinAddress.html +5 -2
  158. package/docs/classes/BitcoinInterface.html +182 -0
  159. package/docs/classes/BitcoinUtils.html +183 -0
  160. package/docs/classes/Block.html +5 -3
  161. package/docs/classes/CallResult.html +6 -2
  162. package/docs/classes/ContractData.html +4 -2
  163. package/docs/classes/DeploymentTransaction.html +4 -2
  164. package/docs/classes/GenericTransaction.html +4 -2
  165. package/docs/classes/IBaseContract.html +192 -0
  166. package/docs/classes/InteractionTransaction.html +3 -2
  167. package/docs/classes/JSONRpcProvider.html +14 -14
  168. package/docs/classes/StoredValue.html +4 -2
  169. package/docs/classes/TransactionBase.html +4 -2
  170. package/docs/classes/TransactionInput.html +3 -2
  171. package/docs/classes/TransactionOutput.html +3 -2
  172. package/docs/classes/TransactionParser.html +3 -2
  173. package/docs/classes/TransactionReceipt.html +3 -2
  174. package/docs/classes/UTXO.html +4 -2
  175. package/docs/classes/WebSocketRpcProvider.html +14 -14
  176. package/docs/enums/ABIDataTypes.html +183 -0
  177. package/docs/enums/BitcoinAbiTypes.html +178 -0
  178. package/docs/enums/OPNetTransactionTypes.html +2 -2
  179. package/docs/functions/getContract.html +180 -0
  180. package/docs/hierarchy.html +1 -1
  181. package/docs/index.html +4 -5
  182. package/docs/interfaces/BaseContractProperties.html +176 -0
  183. package/docs/interfaces/BitcoinAbiValue.html +180 -0
  184. package/docs/interfaces/BitcoinInterfaceAbiBase.html +182 -0
  185. package/docs/interfaces/IAccessList.html +3 -1
  186. package/docs/interfaces/IAccessListItem.html +3 -1
  187. package/docs/interfaces/IBlock.html +5 -3
  188. package/docs/interfaces/IBlockCommon.html +5 -3
  189. package/docs/interfaces/ICallRequestError.html +4 -2
  190. package/docs/interfaces/ICallResultData.html +4 -2
  191. package/docs/interfaces/IContract.html +177 -0
  192. package/docs/interfaces/IDeploymentTransaction.html +4 -2
  193. package/docs/interfaces/IGenericTransaction.html +4 -2
  194. package/docs/interfaces/IInteractionTransaction.html +4 -2
  195. package/docs/interfaces/IRawContract.html +5 -2
  196. package/docs/interfaces/IStorageValue.html +4 -2
  197. package/docs/interfaces/ITransactionBase.html +4 -2
  198. package/docs/interfaces/ITransactionInput.html +3 -2
  199. package/docs/interfaces/ITransactionOutput.html +3 -2
  200. package/docs/interfaces/ITransactionReceipt.html +4 -2
  201. package/docs/interfaces/IUTXO.html +4 -2
  202. package/docs/modules.html +38 -24
  203. package/docs/types/BaseContractProperty.html +176 -0
  204. package/docs/types/BitcoinAddressLike.html +1 -1
  205. package/docs/types/BitcoinInterfaceAbi.html +174 -0
  206. package/docs/types/BlockHeaderChecksumProof.html +1 -1
  207. package/docs/types/DecodedCallResult.html +174 -0
  208. package/docs/types/ICallResult.html +2 -1
  209. package/docs/types/ITransaction.html +2 -1
  210. package/docs/types/PointerLike.html +1 -1
  211. package/docs/types/UTXOs.html +3 -1
  212. package/docs/variables/version.html +1 -1
  213. package/package.json +6 -4
  214. package/src/_version.ts +1 -1
  215. package/src/abi/BaseContractProperty.ts +8 -0
  216. package/src/abi/BitcoinAbiTypes.ts +9 -0
  217. package/src/abi/BitcoinInterface.ts +63 -0
  218. package/src/abi/interfaces/BaseContractProperties.ts +9 -0
  219. package/src/abi/interfaces/BitcoinAbiValue.ts +18 -0
  220. package/src/abi/interfaces/BitcoinInterfaceAbi.ts +19 -0
  221. package/src/bitcoin/BitcoinAddress.ts +5 -0
  222. package/src/bitcoin/UTXOs.ts +28 -26
  223. package/src/bitcoin/interfaces/IUTXO.ts +12 -0
  224. package/src/block/Block.ts +5 -0
  225. package/src/block/interfaces/IBlock.ts +46 -38
  226. package/src/common/CommonTypes.ts +16 -4
  227. package/src/contracts/CallResult.ts +34 -20
  228. package/src/contracts/Contract.ts +321 -0
  229. package/src/contracts/ContractData.ts +46 -41
  230. package/src/contracts/interfaces/IAccessList.ts +17 -7
  231. package/src/contracts/interfaces/ICallResult.ts +29 -15
  232. package/src/contracts/interfaces/IContract.ts +10 -0
  233. package/src/contracts/interfaces/IRawContract.ts +17 -12
  234. package/src/crypto/crypto-browser.js +71 -60
  235. package/src/opnet.ts +17 -0
  236. package/src/providers/AbstractRpcProvider.ts +352 -351
  237. package/src/scripts/testContract.ts +51 -0
  238. package/src/scripts/{test.ts → testMethods.ts} +52 -54
  239. package/src/scripts/test_abi.json +31 -0
  240. package/src/storage/StoredValue.ts +35 -30
  241. package/src/storage/interfaces/IStorageValue.ts +15 -10
  242. package/src/transactions/DeploymentTransaction.ts +41 -36
  243. package/src/transactions/GenericTransaction.ts +19 -12
  244. package/src/transactions/InteractionTransaction.ts +44 -40
  245. package/src/transactions/Transaction.ts +8 -0
  246. package/src/transactions/TransactionInput.ts +8 -0
  247. package/src/transactions/TransactionOutput.ts +8 -0
  248. package/src/transactions/TransactionParser.ts +47 -43
  249. package/src/transactions/TransactionReceipt.ts +22 -18
  250. package/src/transactions/interfaces/ITransaction.ts +78 -52
  251. package/src/transactions/interfaces/ITransactionReceipt.ts +14 -9
  252. package/src/utils/BitcoinUtils.ts +22 -0
  253. package/webpack.config.js +71 -75
@@ -0,0 +1,71 @@
1
+ # Contributing Guidelines
2
+
3
+ Thank you for considering contributing to our project! Please take a moment to
4
+ review the following guidelines before submitting your contribution.
5
+
6
+ ## Pull Requests
7
+
8
+ When submitting a pull request, please make sure to follow these guidelines:
9
+
10
+ ### Before You Begin
11
+
12
+ 1. **Fork the repository**: If you haven't already, fork the repository to your
13
+ GitHub account.
14
+
15
+ 2. **Create a new branch**: Create a new branch for your feature or bug fix.
16
+ This helps keep the main branch clean and makes it easier to review your
17
+ changes.
18
+
19
+ 3. **Ensure your code is up-to-date**: Before starting work, make sure your
20
+ forked repository is up-to-date with the latest changes from the main
21
+ repository.
22
+
23
+ ### Making Changes
24
+
25
+ 1. **Follow coding conventions**: Make sure your code follows the existing
26
+ coding style and conventions used in the project.
27
+
28
+ 2. **Write descriptive commit messages**: Write clear and descriptive commit
29
+ messages that explain the purpose of your changes.
30
+
31
+ 3. **Test your changes**: Before submitting your pull request, make sure to test
32
+ your changes thoroughly to ensure they work as expected.
33
+
34
+ ### Submitting the Pull Request
35
+
36
+ 1. **Create a descriptive title**: Use a clear and descriptive title for your
37
+ pull request that summarizes the purpose of your changes.
38
+
39
+ 2. **Provide a detailed description**: Include a detailed description of the
40
+ changes you've made and any relevant context that reviewers should know.
41
+
42
+ 3. **Link related issues**: If your pull request addresses a specific issue,
43
+ make sure to reference it in the description using GitHub's issue linking
44
+ syntax (`#issue_number`).
45
+
46
+ 4. **Review and address feedback**: Be responsive to any feedback or comments
47
+ you receive on your pull request and make any necessary changes.
48
+
49
+ ## Issues
50
+
51
+ When submitting an issue, please provide as much information as possible to help
52
+ us understand and address the problem. Follow these guidelines when creating an
53
+ issue:
54
+
55
+ 1. **Use a descriptive title**: Use a clear and descriptive title that
56
+ summarizes the issue you're experiencing.
57
+
58
+ 2. **Provide detailed steps to reproduce**: Include detailed steps to reproduce
59
+ the issue, including any relevant code or configuration.
60
+
61
+ 3. **Include relevant information**: Provide any relevant information such as
62
+ error messages, screenshots, or logs that can help diagnose the problem.
63
+
64
+ 4. **Specify your environment**: If the issue is related to a specific
65
+ environment (e.g., operating system, browser), please specify it in your
66
+ issue description.
67
+
68
+ 5. **Check for existing issues**: Before submitting a new issue, please check if
69
+ a similar issue has already been reported to avoid duplicates.
70
+
71
+ Thank you for your contributions!
package/README.md CHANGED
@@ -22,7 +22,7 @@ and other Bitcoin-related technologies.
22
22
 
23
23
  ### Prerequisites
24
24
 
25
- - Node.js version 20.x or higher
25
+ - Node.js version 16.x or higher
26
26
  - npm (Node Package Manager)
27
27
 
28
28
  ### Installation
@@ -31,6 +31,11 @@ and other Bitcoin-related technologies.
31
31
  npm i opnet
32
32
  ```
33
33
 
34
+ ### Documentation
35
+
36
+ Documentation available at [https://dev.opnet.org](https://dev.opnet.org) or in
37
+ the `docs/` directory of the repository.
38
+
34
39
  #### Development
35
40
 
36
41
  1. Clone the repository:
@@ -46,12 +51,6 @@ npm i opnet
46
51
  npm i
47
52
  ```
48
53
 
49
- ## Usage
50
-
51
- Refer to the `docs/` directory for detailed guides on how to use OPNet. Start
52
- with `getting_started.md` and explore `api_reference.md` for comprehensive
53
- information about the functions available.
54
-
55
54
  ## Contribution
56
55
 
57
56
  Contributions are welcome! Please read through the `CONTRIBUTING.md` file for
@@ -1 +1 @@
1
- export declare const version = "1.0.12";
1
+ export declare const version = "1.0.15";
@@ -0,0 +1,3 @@
1
+ import { CallResult } from '../contracts/CallResult.js';
2
+ import { ICallRequestError } from '../contracts/interfaces/ICallResult.js';
3
+ export type BaseContractProperty = CallResult | ICallRequestError;
@@ -0,0 +1,4 @@
1
+ export declare enum BitcoinAbiTypes {
2
+ Function = "function",
3
+ Event = "event"
4
+ }
@@ -0,0 +1,9 @@
1
+ import { BitcoinInterfaceAbi } from './interfaces/BitcoinInterfaceAbi.js';
2
+ export declare class BitcoinInterface {
3
+ readonly abi: BitcoinInterfaceAbi;
4
+ constructor(abi: BitcoinInterfaceAbi);
5
+ static from(abi: BitcoinInterface | BitcoinInterfaceAbi): BitcoinInterface;
6
+ hasFunction(name: string): boolean;
7
+ private verifyAbi;
8
+ private verifyAbiValues;
9
+ }
@@ -0,0 +1,4 @@
1
+ import { BaseContractProperty } from '../BaseContractProperty.js';
2
+ export interface BaseContractProperties {
3
+ [key: symbol]: BaseContractProperty;
4
+ }
@@ -0,0 +1,5 @@
1
+ import { ABIDataTypes } from '@btc-vision/bsi-binary';
2
+ export interface BitcoinAbiValue {
3
+ name: string;
4
+ type: ABIDataTypes;
5
+ }
@@ -0,0 +1,11 @@
1
+ import { BitcoinAbiTypes } from '../BitcoinAbiTypes.js';
2
+ import { BitcoinAbiValue } from './BitcoinAbiValue.js';
3
+ export interface BitcoinInterfaceAbiBase {
4
+ readonly constant?: boolean;
5
+ readonly name: string;
6
+ readonly inputs?: BitcoinAbiValue[];
7
+ readonly outputs?: BitcoinAbiValue[];
8
+ readonly type: BitcoinAbiTypes;
9
+ readonly payable?: boolean;
10
+ }
11
+ export type BitcoinInterfaceAbi = BitcoinInterfaceAbiBase[];
@@ -1,10 +1,5 @@
1
1
  import { ScriptPubKey } from '@btc-vision/bsi-bitcoin-rpc';
2
- export interface IUTXO {
3
- readonly transactionId: string;
4
- readonly outputIndex: number;
5
- readonly value: bigint | string;
6
- readonly scriptPubKey: ScriptPubKey;
7
- }
2
+ import { IUTXO } from './interfaces/IUTXO.js';
8
3
  export declare class UTXO implements IUTXO {
9
4
  readonly transactionId: string;
10
5
  readonly outputIndex: number;
@@ -0,0 +1,7 @@
1
+ import { ScriptPubKey } from '@btc-vision/bsi-bitcoin-rpc';
2
+ export interface IUTXO {
3
+ readonly transactionId: string;
4
+ readonly outputIndex: number;
5
+ readonly value: bigint | string;
6
+ readonly scriptPubKey: ScriptPubKey;
7
+ }
@@ -1,3 +1,4 @@
1
1
  import { BitcoinAddress } from '../bitcoin/BitcoinAddress.js';
2
2
  export type BitcoinAddressLike = string | BitcoinAddress;
3
3
  export type PointerLike = bigint | string;
4
+ export type DecodedCallResult = bigint | string | boolean | number | Uint8Array | Array<bigint> | Array<string> | Array<boolean> | Array<number> | Array<Uint8Array>;
@@ -1,10 +1,13 @@
1
- import { NetEvent } from '@btc-vision/bsi-binary';
2
- import { BufferReader } from 'bitcoinjs-lib/src/bufferutils.js';
1
+ import { BinaryReader, NetEvent } from '@btc-vision/bsi-binary';
2
+ import { DecodedCallResult } from '../common/CommonTypes.js';
3
3
  import { IAccessList } from './interfaces/IAccessList.js';
4
4
  import { ICallResultData } from './interfaces/ICallResult.js';
5
5
  export declare class CallResult implements ICallResultData {
6
- readonly result: BufferReader;
6
+ readonly result: BinaryReader;
7
7
  readonly events: NetEvent[];
8
8
  readonly accessList: IAccessList;
9
+ readonly decoded: Array<DecodedCallResult>;
9
10
  constructor(iCallResult: ICallResultData);
11
+ setDecoded(decoded: Array<DecodedCallResult>): void;
12
+ private base64ToUint8Array;
10
13
  }
@@ -0,0 +1,28 @@
1
+ import { BaseContractProperty } from '../abi/BaseContractProperty.js';
2
+ import { BitcoinInterface } from '../abi/BitcoinInterface.js';
3
+ import { BaseContractProperties } from '../abi/interfaces/BaseContractProperties.js';
4
+ import { BitcoinInterfaceAbi } from '../abi/interfaces/BitcoinInterfaceAbi.js';
5
+ import { BitcoinAddressLike } from '../common/CommonTypes.js';
6
+ import { AbstractRpcProvider } from '../providers/AbstractRpcProvider.js';
7
+ import { IContract } from './interfaces/IContract.js';
8
+ declare const internal: unique symbol;
9
+ export declare abstract class IBaseContract<T extends BaseContractProperties> implements IContract {
10
+ readonly address: BitcoinAddressLike;
11
+ readonly interface: BitcoinInterface;
12
+ readonly provider: AbstractRpcProvider;
13
+ readonly [internal]: keyof T | undefined;
14
+ private events;
15
+ protected constructor(address: BitcoinAddressLike, abi: BitcoinInterface | BitcoinInterfaceAbi, provider: AbstractRpcProvider);
16
+ protected getFunction(name: symbol): BaseContractProperty | undefined | string | number | symbol;
17
+ private defineInternalFunctions;
18
+ private encodeFunctionData;
19
+ private encodeInput;
20
+ private decodeOutput;
21
+ private callFunction;
22
+ }
23
+ export declare class BaseContract<T extends BaseContractProperties> extends IBaseContract<T> {
24
+ constructor(address: BitcoinAddressLike, abi: BitcoinInterface | BitcoinInterfaceAbi, provider: AbstractRpcProvider);
25
+ private proxify;
26
+ }
27
+ export declare function getContract<T extends BaseContractProperties>(address: BitcoinAddressLike, abi: BitcoinInterface | BitcoinInterfaceAbi, provider: AbstractRpcProvider): BaseContract<T> & Omit<T, keyof BaseContract<T>>;
28
+ export {};
@@ -1,11 +1,10 @@
1
- import { NetEvent } from '@btc-vision/bsi-binary';
2
- import { BufferReader } from 'bitcoinjs-lib/src/bufferutils.js';
1
+ import { BinaryReader, NetEvent } from '@btc-vision/bsi-binary';
3
2
  import { IAccessList } from './IAccessList.js';
4
3
  export interface ICallRequestError {
5
4
  readonly error: string;
6
5
  }
7
6
  export interface ICallResultData {
8
- readonly result: string | BufferReader;
7
+ readonly result: string | BinaryReader;
9
8
  readonly events: NetEvent[];
10
9
  readonly accessList: IAccessList;
11
10
  }
@@ -0,0 +1,4 @@
1
+ import { BitcoinAddressLike } from '../../common/CommonTypes.js';
2
+ export interface IContract {
3
+ readonly address: BitcoinAddressLike;
4
+ }
@@ -31,3 +31,10 @@ export function createHash(algo: any): import("@noble/hashes/utils").Hash<{
31
31
  export function createHmac(_algo: any, key: any): import("@noble/hashes/hmac").HMAC<any>;
32
32
  export function pbkdf2Sync(password: any, salt: any, iterations: any, keylen: any, _algo: any): Uint8Array;
33
33
  export function randomBytes(length: any): Uint8Array;
34
+ declare namespace _default {
35
+ export { createHash };
36
+ export { createHmac };
37
+ export { pbkdf2Sync };
38
+ export { randomBytes };
39
+ }
40
+ export default _default;