opnet 1.2.1 → 1.2.3

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 (118) hide show
  1. package/browser/_version.d.ts +1 -1
  2. package/browser/abi/shared/interfaces/motoswap/IAdministeredOP20.d.ts +21 -0
  3. package/browser/abi/shared/interfaces/motoswap/IMotoChefContract.d.ts +121 -0
  4. package/browser/abi/shared/interfaces/motoswap/INativeSwapContract.d.ts +71 -0
  5. package/browser/abi/shared/interfaces/motoswap/IOwnableContract.d.ts +12 -0
  6. package/browser/abi/shared/interfaces/motoswap/IOwnableReentrancyGuardContract.d.ts +13 -0
  7. package/browser/abi/shared/interfaces/motoswap/IReentrancyGuardContract.d.ts +7 -0
  8. package/browser/abi/shared/json/motoswap/ADMINISTERD_OP_20_ABI.d.ts +3 -0
  9. package/browser/abi/shared/json/motoswap/MOTOSWAP_MOTOCHEF_ABI.d.ts +4 -0
  10. package/browser/abi/shared/json/motoswap/NATIVE_SWAP_ABI.d.ts +3 -0
  11. package/browser/abi/shared/json/motoswap/OWNABLE_ABI.d.ts +3 -0
  12. package/browser/abi/shared/json/motoswap/REENTRANCY_GUARD_ABI.d.ts +2 -0
  13. package/browser/bitcoin/UTXOs.d.ts +1 -1
  14. package/browser/bitcoin/interfaces/IUTXO.d.ts +1 -1
  15. package/browser/block/Block.d.ts +2 -1
  16. package/browser/contracts/CallResult.d.ts +1 -0
  17. package/browser/index.js +1 -1
  18. package/browser/opnet.d.ts +7 -2
  19. package/browser/providers/AbstractRpcProvider.d.ts +1 -1
  20. package/browser/transactions/Transaction.d.ts +5 -1
  21. package/browser/transactions/TransactionParser.d.ts +3 -2
  22. package/browser/transactions/decoders/DeploymentTransaction.d.ts +2 -1
  23. package/browser/transactions/decoders/GenericTransaction.d.ts +2 -1
  24. package/browser/transactions/decoders/InteractionTransaction.d.ts +2 -1
  25. package/browser/transactions/interfaces/ITransaction.d.ts +2 -0
  26. package/browser/transactions/interfaces/ProofOfWorkChallenge.d.ts +12 -0
  27. package/browser/transactions/interfaces/transactions/ICommonTransaction.d.ts +2 -0
  28. package/browser/transactions/metadata/TransactionInput.d.ts +1 -1
  29. package/browser/transactions/metadata/TransactionOutput.d.ts +1 -1
  30. package/browser/transactions/metadata/TransactionReceipt.d.ts +2 -1
  31. package/build/_version.d.ts +1 -1
  32. package/build/_version.js +1 -1
  33. package/build/abi/shared/interfaces/motoswap/IAdministeredOP20.d.ts +21 -0
  34. package/build/abi/shared/interfaces/motoswap/IMotoChefContract.d.ts +121 -0
  35. package/build/abi/shared/interfaces/motoswap/IMotoChefContract.js +1 -0
  36. package/build/abi/shared/interfaces/motoswap/INativeSwapContract.d.ts +71 -0
  37. package/build/abi/shared/interfaces/motoswap/INativeSwapContract.js +1 -0
  38. package/build/abi/shared/interfaces/motoswap/IOwnableContract.d.ts +12 -0
  39. package/build/abi/shared/interfaces/motoswap/IOwnableContract.js +1 -0
  40. package/build/abi/shared/interfaces/motoswap/IOwnableReentrancyGuardContract.d.ts +13 -0
  41. package/build/abi/shared/interfaces/motoswap/IOwnableReentrancyGuardContract.js +1 -0
  42. package/build/abi/shared/interfaces/motoswap/IReentrancyGuardContract.d.ts +7 -0
  43. package/build/abi/shared/interfaces/motoswap/IReentrancyGuardContract.js +1 -0
  44. package/build/abi/shared/json/motoswap/ADMINISTERD_OP_20_ABI.d.ts +3 -0
  45. package/build/abi/shared/json/motoswap/ADMINISTERD_OP_20_ABI.js +81 -0
  46. package/build/abi/shared/json/motoswap/MOTOSWAP_MOTOCHEF_ABI.d.ts +4 -0
  47. package/build/abi/shared/json/motoswap/MOTOSWAP_MOTOCHEF_ABI.js +443 -0
  48. package/build/abi/shared/json/motoswap/NATIVE_SWAP_ABI.d.ts +3 -0
  49. package/build/abi/shared/json/motoswap/{EWMA_ABI.js → NATIVE_SWAP_ABI.js} +208 -37
  50. package/build/abi/shared/json/motoswap/OWNABLE_ABI.d.ts +3 -0
  51. package/build/abi/shared/json/motoswap/OWNABLE_ABI.js +35 -0
  52. package/build/abi/shared/json/motoswap/REENTRANCY_GUARD_ABI.d.ts +2 -0
  53. package/build/abi/shared/json/motoswap/REENTRANCY_GUARD_ABI.js +15 -0
  54. package/build/bitcoin/UTXOs.d.ts +1 -1
  55. package/build/bitcoin/interfaces/IUTXO.d.ts +1 -1
  56. package/build/block/Block.d.ts +2 -1
  57. package/build/block/Block.js +2 -2
  58. package/build/contracts/CallResult.d.ts +1 -0
  59. package/build/contracts/CallResult.js +7 -3
  60. package/build/opnet.d.ts +7 -2
  61. package/build/opnet.js +7 -2
  62. package/build/providers/AbstractRpcProvider.d.ts +1 -1
  63. package/build/providers/AbstractRpcProvider.js +4 -4
  64. package/build/transactions/Transaction.d.ts +5 -1
  65. package/build/transactions/Transaction.js +14 -2
  66. package/build/transactions/TransactionParser.d.ts +3 -2
  67. package/build/transactions/TransactionParser.js +6 -6
  68. package/build/transactions/decoders/DeploymentTransaction.d.ts +2 -1
  69. package/build/transactions/decoders/DeploymentTransaction.js +2 -2
  70. package/build/transactions/decoders/GenericTransaction.d.ts +2 -1
  71. package/build/transactions/decoders/GenericTransaction.js +2 -2
  72. package/build/transactions/decoders/InteractionTransaction.d.ts +2 -1
  73. package/build/transactions/decoders/InteractionTransaction.js +2 -2
  74. package/build/transactions/interfaces/ITransaction.d.ts +2 -0
  75. package/build/transactions/interfaces/ProofOfWorkChallenge.d.ts +12 -0
  76. package/build/transactions/interfaces/ProofOfWorkChallenge.js +1 -0
  77. package/build/transactions/interfaces/transactions/ICommonTransaction.d.ts +2 -0
  78. package/build/transactions/metadata/TransactionInput.d.ts +1 -1
  79. package/build/transactions/metadata/TransactionOutput.d.ts +1 -1
  80. package/build/transactions/metadata/TransactionReceipt.d.ts +2 -1
  81. package/build/transactions/metadata/TransactionReceipt.js +12 -8
  82. package/package.json +14 -14
  83. package/src/_version.ts +1 -1
  84. package/src/abi/shared/interfaces/motoswap/IAdministeredOP20.ts +56 -0
  85. package/src/abi/shared/interfaces/motoswap/IMotoChefContract.ts +348 -0
  86. package/src/abi/shared/interfaces/motoswap/INativeSwapContract.ts +267 -0
  87. package/src/abi/shared/interfaces/motoswap/IOwnableContract.ts +32 -0
  88. package/src/abi/shared/interfaces/motoswap/IOwnableReentrancyGuardContract.ts +33 -0
  89. package/src/abi/shared/interfaces/motoswap/IReentrancyGuardContract.ts +18 -0
  90. package/src/abi/shared/json/motoswap/ADMINISTERD_OP_20_ABI.ts +85 -0
  91. package/src/abi/shared/json/motoswap/MOTOSWAP_MOTOCHEF_ABI.ts +455 -0
  92. package/src/abi/shared/json/motoswap/{EWMA_ABI.ts → NATIVE_SWAP_ABI.ts} +252 -37
  93. package/src/abi/shared/json/motoswap/OWNABLE_ABI.ts +38 -0
  94. package/src/abi/shared/json/motoswap/REENTRANCY_GUARD_ABI.ts +20 -0
  95. package/src/bitcoin/UTXOs.ts +2 -2
  96. package/src/bitcoin/interfaces/IUTXO.ts +1 -1
  97. package/src/block/Block.ts +3 -1
  98. package/src/contracts/CallResult.ts +9 -6
  99. package/src/opnet.ts +7 -2
  100. package/src/providers/AbstractRpcProvider.ts +5 -5
  101. package/src/providers/JSONRpcProvider.ts +1 -1
  102. package/src/transactions/Transaction.ts +30 -8
  103. package/src/transactions/TransactionParser.ts +7 -8
  104. package/src/transactions/decoders/DeploymentTransaction.ts +3 -2
  105. package/src/transactions/decoders/GenericTransaction.ts +3 -2
  106. package/src/transactions/decoders/InteractionTransaction.ts +3 -2
  107. package/src/transactions/interfaces/ITransaction.ts +6 -0
  108. package/src/transactions/interfaces/ProofOfWorkChallenge.ts +13 -0
  109. package/src/transactions/interfaces/transactions/ICommonTransaction.ts +6 -0
  110. package/src/transactions/metadata/TransactionInput.ts +1 -1
  111. package/src/transactions/metadata/TransactionOutput.ts +1 -1
  112. package/src/transactions/metadata/TransactionReceipt.ts +23 -11
  113. package/browser/abi/shared/interfaces/motoswap/IEwmaContract.d.ts +0 -46
  114. package/browser/abi/shared/json/motoswap/EWMA_ABI.d.ts +0 -3
  115. package/build/abi/shared/interfaces/motoswap/IEwmaContract.d.ts +0 -46
  116. package/build/abi/shared/json/motoswap/EWMA_ABI.d.ts +0 -3
  117. package/src/abi/shared/interfaces/motoswap/IEwmaContract.ts +0 -188
  118. /package/build/abi/shared/interfaces/motoswap/{IEwmaContract.js → IAdministeredOP20.js} +0 -0
@@ -10,13 +10,14 @@ export class TransactionBase extends TransactionReceipt {
10
10
  outputs;
11
11
  OPNetType;
12
12
  gasUsed;
13
- constructor(transaction) {
13
+ pow;
14
+ constructor(transaction, network) {
14
15
  super({
15
16
  receipt: transaction.receipt,
16
17
  receiptProofs: transaction.receiptProofs,
17
18
  events: transaction.events,
18
19
  revert: transaction.revert,
19
- });
20
+ }, network);
20
21
  this.id = transaction.id;
21
22
  this.hash = transaction.hash;
22
23
  this.index = transaction.index;
@@ -25,5 +26,16 @@ export class TransactionBase extends TransactionReceipt {
25
26
  this.outputs = transaction.outputs.map((output) => new TransactionOutput(output));
26
27
  this.OPNetType = transaction.OPNetType;
27
28
  this.gasUsed = BigInt(transaction.gasUsed || '0x00') || 0n;
29
+ if (transaction.pow) {
30
+ this.pow = this.decodeProofOfWorkChallenge(transaction.pow);
31
+ }
32
+ }
33
+ decodeProofOfWorkChallenge(challenge) {
34
+ return {
35
+ preimage: Buffer.from(challenge.preimage, 'base64'),
36
+ reward: BigInt(challenge.reward) || 0n,
37
+ difficulty: BigInt(challenge.difficulty || '0'),
38
+ version: challenge.version || 0,
39
+ };
28
40
  }
29
41
  }
@@ -1,7 +1,8 @@
1
+ import { Network } from '@btc-vision/bitcoin';
1
2
  import { OPNetTransactionTypes } from '../interfaces/opnet/OPNetTransactionTypes.js';
2
3
  import { ITransaction } from './interfaces/ITransaction.js';
3
4
  import { TransactionBase } from './Transaction.js';
4
5
  export declare class TransactionParser {
5
- static parseTransactions(transactions: ITransaction[]): TransactionBase<OPNetTransactionTypes>[];
6
- static parseTransaction(transaction: ITransaction): TransactionBase<OPNetTransactionTypes>;
6
+ static parseTransactions(transactions: ITransaction[], network: Network): TransactionBase<OPNetTransactionTypes>[];
7
+ static parseTransaction(transaction: ITransaction, network: Network): TransactionBase<OPNetTransactionTypes>;
7
8
  }
@@ -3,7 +3,7 @@ import { DeploymentTransaction } from './decoders/DeploymentTransaction.js';
3
3
  import { GenericTransaction } from './decoders/GenericTransaction.js';
4
4
  import { InteractionTransaction } from './decoders/InteractionTransaction.js';
5
5
  export class TransactionParser {
6
- static parseTransactions(transactions) {
6
+ static parseTransactions(transactions, network) {
7
7
  if (!transactions) {
8
8
  return [];
9
9
  }
@@ -11,21 +11,21 @@ export class TransactionParser {
11
11
  for (const transaction of transactions) {
12
12
  if (!transaction)
13
13
  throw new Error(`Something went wrong while parsing transactions`);
14
- transactionArray.push(this.parseTransaction(transaction));
14
+ transactionArray.push(this.parseTransaction(transaction, network));
15
15
  }
16
16
  return transactionArray;
17
17
  }
18
- static parseTransaction(transaction) {
18
+ static parseTransaction(transaction, network) {
19
19
  if (!transaction)
20
20
  throw new Error('Transaction is required');
21
21
  const opnetType = transaction.OPNetType;
22
22
  switch (opnetType) {
23
23
  case OPNetTransactionTypes.Generic:
24
- return new GenericTransaction(transaction);
24
+ return new GenericTransaction(transaction, network);
25
25
  case OPNetTransactionTypes.Interaction:
26
- return new InteractionTransaction(transaction);
26
+ return new InteractionTransaction(transaction, network);
27
27
  case OPNetTransactionTypes.Deployment:
28
- return new DeploymentTransaction(transaction);
28
+ return new DeploymentTransaction(transaction, network);
29
29
  default:
30
30
  throw new Error('Unknown transaction type');
31
31
  }
@@ -1,3 +1,4 @@
1
+ import { Network } from '@btc-vision/bitcoin';
1
2
  import { Address } from '@btc-vision/transaction';
2
3
  import { OPNetTransactionTypes } from '../../interfaces/opnet/OPNetTransactionTypes.js';
3
4
  import { IDeploymentTransaction } from '../interfaces/transactions/IDeploymentTransaction.js';
@@ -12,5 +13,5 @@ export declare class DeploymentTransaction extends TransactionBase<OPNetTransact
12
13
  readonly contractSeed?: Buffer;
13
14
  readonly contractSaltHash?: Buffer;
14
15
  readonly from?: Address;
15
- constructor(transaction: IDeploymentTransaction);
16
+ constructor(transaction: IDeploymentTransaction, network: Network);
16
17
  }
@@ -10,8 +10,8 @@ export class DeploymentTransaction extends TransactionBase {
10
10
  contractSeed;
11
11
  contractSaltHash;
12
12
  from;
13
- constructor(transaction) {
14
- super(transaction);
13
+ constructor(transaction, network) {
14
+ super(transaction, network);
15
15
  try {
16
16
  this.from = new Address(Buffer.from(transaction.from, 'base64'));
17
17
  this.contractAddress = transaction.contractAddress;
@@ -1,6 +1,7 @@
1
+ import { Network } from '@btc-vision/bitcoin';
1
2
  import { OPNetTransactionTypes } from '../../interfaces/opnet/OPNetTransactionTypes.js';
2
3
  import { IGenericTransaction } from '../interfaces/ITransaction.js';
3
4
  import { TransactionBase } from '../Transaction.js';
4
5
  export declare class GenericTransaction extends TransactionBase<OPNetTransactionTypes.Generic> implements IGenericTransaction {
5
- constructor(transaction: IGenericTransaction);
6
+ constructor(transaction: IGenericTransaction, network: Network);
6
7
  }
@@ -1,6 +1,6 @@
1
1
  import { TransactionBase } from '../Transaction.js';
2
2
  export class GenericTransaction extends TransactionBase {
3
- constructor(transaction) {
4
- super(transaction);
3
+ constructor(transaction, network) {
4
+ super(transaction, network);
5
5
  }
6
6
  }
@@ -1,3 +1,4 @@
1
+ import { Network } from '@btc-vision/bitcoin';
1
2
  import { Address } from '@btc-vision/transaction';
2
3
  import { Buffer } from 'buffer';
3
4
  import { InteractionType } from '../../interfaces/opnet/OPNetTransactionTypes.js';
@@ -12,5 +13,5 @@ export declare class InteractionTransaction extends TransactionBase<InteractionT
12
13
  readonly from?: Address;
13
14
  readonly contractAddress?: string;
14
15
  readonly contractTweakedPublicKey: Address;
15
- constructor(transaction: IInteractionTransaction);
16
+ constructor(transaction: IInteractionTransaction, network: Network);
16
17
  }
@@ -10,8 +10,8 @@ export class InteractionTransaction extends TransactionBase {
10
10
  from;
11
11
  contractAddress;
12
12
  contractTweakedPublicKey;
13
- constructor(transaction) {
14
- super(transaction);
13
+ constructor(transaction, network) {
14
+ super(transaction, network);
15
15
  this.contractTweakedPublicKey = new Address(Buffer.from(transaction.contractTweakedPublicKey, 'base64'));
16
16
  if (transaction.calldata) {
17
17
  this.calldata = Buffer.from(transaction.calldata, 'base64');
@@ -3,6 +3,7 @@ import { OPNetTransactionTypes } from '../../interfaces/opnet/OPNetTransactionTy
3
3
  import { ITransactionInput, TransactionInput } from '../metadata/TransactionInput.js';
4
4
  import { ITransactionOutput, TransactionOutput } from '../metadata/TransactionOutput.js';
5
5
  import { ITransactionReceipt } from './ITransactionReceipt.js';
6
+ import { ProofOfWorkChallenge, RawProofOfWorkChallenge } from './ProofOfWorkChallenge.js';
6
7
  import { IDeploymentTransaction } from './transactions/IDeploymentTransaction.js';
7
8
  import { IInteractionTransaction } from './transactions/IInteractionTransaction.js';
8
9
  export interface ITransactionBase<T extends OPNetTransactionTypes> extends ITransactionReceipt {
@@ -15,6 +16,7 @@ export interface ITransactionBase<T extends OPNetTransactionTypes> extends ITran
15
16
  readonly outputs: ITransactionOutput[] | TransactionOutput[];
16
17
  readonly OPNetType: T;
17
18
  readonly gasUsed: string | bigint;
19
+ readonly pow?: RawProofOfWorkChallenge | ProofOfWorkChallenge;
18
20
  }
19
21
  export interface IGenericTransaction extends ITransactionBase<OPNetTransactionTypes.Generic> {
20
22
  }
@@ -0,0 +1,12 @@
1
+ export interface ProofOfWorkChallenge {
2
+ readonly preimage: Buffer;
3
+ readonly reward: bigint;
4
+ readonly difficulty?: bigint;
5
+ readonly version?: number;
6
+ }
7
+ export interface RawProofOfWorkChallenge {
8
+ readonly preimage: string;
9
+ readonly reward: string;
10
+ readonly difficulty?: string;
11
+ readonly version?: number;
12
+ }
@@ -1,9 +1,11 @@
1
1
  import { Address } from '@btc-vision/transaction';
2
2
  import { OPNetTransactionTypes } from '../../../interfaces/opnet/OPNetTransactionTypes.js';
3
3
  import { ITransactionBase } from '../ITransaction.js';
4
+ import { ProofOfWorkChallenge } from '../ProofOfWorkChallenge.js';
4
5
  export interface ICommonTransaction<T extends OPNetTransactionTypes> extends ITransactionBase<T> {
5
6
  readonly contractAddress?: string;
6
7
  readonly contractTweakedPublicKey?: Address | string;
7
8
  readonly from?: Address | string;
8
9
  readonly wasCompressed?: boolean;
10
+ readonly pow?: ProofOfWorkChallenge;
9
11
  }
@@ -1,4 +1,4 @@
1
- import { ScriptSig } from '@btc-vision/bsi-bitcoin-rpc';
1
+ import { ScriptSig } from '@btc-vision/bitcoin-rpc';
2
2
  export interface ITransactionInput {
3
3
  readonly originalTransactionId: string | undefined;
4
4
  readonly outputTransactionIndex: number | undefined;
@@ -1,4 +1,4 @@
1
- import { ScriptPubKey } from '@btc-vision/bsi-bitcoin-rpc';
1
+ import { ScriptPubKey } from '@btc-vision/bitcoin-rpc';
2
2
  export interface ITransactionOutput {
3
3
  readonly index: number;
4
4
  readonly scriptPubKey: {
@@ -1,10 +1,11 @@
1
+ import { Network } from '@btc-vision/bitcoin';
1
2
  import { ContractEvents, ITransactionReceipt } from '../interfaces/ITransactionReceipt.js';
2
3
  export declare class TransactionReceipt implements ITransactionReceipt {
3
4
  readonly receipt?: Buffer;
4
5
  readonly receiptProofs: string[];
5
6
  readonly events: ContractEvents;
6
7
  readonly revert?: Buffer;
7
- constructor(receipt: ITransactionReceipt);
8
+ constructor(receipt: ITransactionReceipt, network: Network);
8
9
  private parseEvents;
9
10
  private decodeEvent;
10
11
  }
@@ -1,22 +1,24 @@
1
- import { NetEvent } from '@btc-vision/transaction';
1
+ import { Address, NetEvent } from '@btc-vision/transaction';
2
2
  export class TransactionReceipt {
3
3
  receipt;
4
4
  receiptProofs;
5
5
  events;
6
6
  revert;
7
- constructor(receipt) {
7
+ constructor(receipt, network) {
8
8
  this.receipt = receipt.receipt
9
9
  ? Buffer.from(receipt.receipt, 'base64')
10
10
  : undefined;
11
11
  this.receiptProofs = receipt.receiptProofs || [];
12
- this.events = receipt.events ? this.parseEvents(receipt.events) : {};
12
+ this.events = receipt.events ? this.parseEvents(receipt.events, network) : {};
13
13
  this.revert = receipt.revert ? Buffer.from(receipt.revert, 'base64') : undefined;
14
14
  }
15
- parseEvents(events) {
15
+ parseEvents(events, network) {
16
16
  const parsedEvents = {};
17
17
  if (!Array.isArray(events)) {
18
18
  for (const [key, value] of Object.entries(events)) {
19
- parsedEvents[key] = value.map((event) => {
19
+ const ca = Address.fromString(key);
20
+ const caP2tr = ca.p2tr(network);
21
+ parsedEvents[caP2tr] = value.map((event) => {
20
22
  return this.decodeEvent(event);
21
23
  });
22
24
  }
@@ -25,10 +27,12 @@ export class TransactionReceipt {
25
27
  for (const event of events) {
26
28
  const parsedEvent = this.decodeEvent(event);
27
29
  const contractAddress = event.contractAddress;
28
- if (!parsedEvents[contractAddress]) {
29
- parsedEvents[contractAddress] = [];
30
+ const ca = Address.fromString(contractAddress);
31
+ const caP2tr = ca.p2tr(network);
32
+ if (!parsedEvents[caP2tr]) {
33
+ parsedEvents[caP2tr] = [];
30
34
  }
31
- parsedEvents[contractAddress].push(parsedEvent);
35
+ parsedEvents[caP2tr].push(parsedEvent);
32
36
  }
33
37
  }
34
38
  return parsedEvents;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "opnet",
3
3
  "type": "module",
4
- "version": "1.2.1",
4
+ "version": "1.2.3",
5
5
  "author": "OP_NET",
6
6
  "description": "The perfect library for building Bitcoin-based applications.",
7
7
  "engines": {
@@ -66,17 +66,17 @@
66
66
  "@babel/plugin-transform-runtime": "^7.25.9",
67
67
  "@babel/preset-env": "^7.26.0",
68
68
  "@babel/preset-flow": "^7.25.9",
69
- "@babel/preset-react": "^7.25.9",
69
+ "@babel/preset-react": "^7.26.3",
70
70
  "@babel/preset-typescript": "^7.26.0",
71
- "@eslint/js": "^9.14.0",
72
- "@types/node": "^22.10.2",
71
+ "@eslint/js": "^9.17.0",
72
+ "@types/node": "^22.10.5",
73
73
  "@types/ws": "^8.5.13",
74
74
  "assert": "^2.1.0",
75
75
  "babel-loader": "^9.2.1",
76
- "babel-plugin-transform-import-meta": "^2.2.1",
76
+ "babel-plugin-transform-import-meta": "^2.3.2",
77
77
  "babel-preset-react": "^6.24.1",
78
78
  "babelify": "^10.0.0",
79
- "eslint": "^9.14.0",
79
+ "eslint": "^9.17.0",
80
80
  "gulp": "^5.0.0",
81
81
  "gulp-cached": "^1.1.1",
82
82
  "gulp-clean": "^0.4.0",
@@ -85,7 +85,7 @@
85
85
  "gulp-typescript": "^6.0.0-alpha.1",
86
86
  "https-browserify": "^1.0.0",
87
87
  "os-browserify": "^0.3.0",
88
- "prettier": "^3.3.3",
88
+ "prettier": "^3.4.2",
89
89
  "process": "^0.11.10",
90
90
  "stream-browserify": "^3.0.0",
91
91
  "stream-http": "^3.2.0",
@@ -94,15 +94,15 @@
94
94
  "typedoc": "^0.27.6",
95
95
  "typescript": "^5.7.2",
96
96
  "typescript-eslint": "^8.19.0",
97
- "webpack": "^5.96.1",
98
- "webpack-cli": "^5.1.4"
97
+ "webpack": "^5.97.1",
98
+ "webpack-cli": "^6.0.1"
99
99
  },
100
100
  "dependencies": {
101
- "@bitcoinerlab/secp256k1": "^1.1.1",
102
- "@btc-vision/bitcoin": "^6.3.2",
103
- "@btc-vision/bsi-bitcoin-rpc": ">=1.0.29",
104
- "@btc-vision/transaction": "^1.2.1",
105
- "@noble/hashes": "^1.6.1",
101
+ "@bitcoinerlab/secp256k1": "^1.2.0",
102
+ "@btc-vision/bitcoin": "^6.3.3",
103
+ "@btc-vision/bitcoin-rpc": "^1.0.0",
104
+ "@btc-vision/transaction": "^1.2.3",
105
+ "@noble/hashes": "^1.7.0",
106
106
  "bignumber.js": "^9.1.2",
107
107
  "buffer": "^6.0.3",
108
108
  "ecpair": "^2.1.0",
package/src/_version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.2.1';
1
+ export const version = '1.2.3';
@@ -0,0 +1,56 @@
1
+ import { Address } from '@btc-vision/transaction';
2
+ import { IOP_20Contract } from '../opnet/IOP_20Contract';
3
+ import { CallResult } from '../../../../opnet';
4
+
5
+ export type Admin = CallResult<{
6
+ ADDRESS: Address;
7
+ }>;
8
+
9
+ export type ChangeAdmin = CallResult<{
10
+ success: boolean;
11
+ }>;
12
+
13
+ export type AdminMint = CallResult<{
14
+ success: boolean;
15
+ }>;
16
+
17
+ export type AdminBurn = CallResult<{
18
+ success: boolean;
19
+ }>;
20
+
21
+ /**
22
+ * @description This interface represents the IAdministeredOP20Contract contract. It extends the IOP_20Contract and adds the ability to have an admin address that can mint and burn tokens.
23
+ * @interface IMotoChefContract
24
+ * @extends {IOwnableReentrancyGuardContract}
25
+ * @cathegory Contracts
26
+ */
27
+ export interface IAdministeredOP20Contract extends IOP_20Contract {
28
+ /**
29
+ * @description Gets the current admin address.
30
+ * @returns {Admin}
31
+ */
32
+ admin(): Promise<Admin>;
33
+
34
+ /**
35
+ * @description Changes the contract admin. Only callable by the current admin.
36
+ * @param {Address} newAdmin The new admin address.
37
+ * @returns {ChangeAdmin}
38
+ */
39
+ changeAdmin(newAdmin: Address): Promise<ChangeAdmin>;
40
+
41
+ /**
42
+ * @description Mints tokens to a specified address. Only callable by the admin.
43
+ * @param {Address} to The address to mint tokens to.
44
+ * @param {bigint} amount The amount of tokens to mint.
45
+ * @returns {AdminMint}
46
+ */
47
+ adminMint(to: Address, amount: bigint): Promise<AdminMint>;
48
+
49
+ /**
50
+ * @description Burns tokens from a specified address. Only callable by the admin.
51
+ * @param {Address} from The address to burn tokens from.
52
+ * @param {bigint} amount The amount of tokens to burn.
53
+ * @returns {AdminBurn}
54
+ */
55
+ adminBurn(from: Address, amount: bigint): Promise<AdminBurn>;
56
+ }