@btc-vision/transaction 1.8.0-beta.9 → 1.8.0-rc.1
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/browser/abi/ABICoder.d.ts +14 -35
- package/browser/abi/ABICoder.d.ts.map +1 -1
- package/browser/abi/ABIDataTypes.d.ts +35 -0
- package/browser/abi/ABIDataTypes.d.ts.map +1 -0
- package/browser/abi/AbiTypes.d.ts +46 -0
- package/browser/abi/AbiTypes.d.ts.map +1 -0
- package/browser/abi/TupleUtils.d.ts +25 -0
- package/browser/abi/TupleUtils.d.ts.map +1 -0
- package/browser/btc-vision-bitcoin.js +2570 -2654
- package/browser/epoch/validator/EpochValidator.d.ts.map +1 -1
- package/browser/generators/builders/CalldataGenerator.d.ts.map +1 -1
- package/browser/generators/builders/CustomGenerator.d.ts.map +1 -1
- package/browser/generators/builders/DeploymentGenerator.d.ts.map +1 -1
- package/browser/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -1
- package/browser/generators/builders/MultiSignGenerator.d.ts.map +1 -1
- package/browser/index.js +1640 -1507
- package/browser/keypair/Address.d.ts +1 -1
- package/browser/keypair/Address.d.ts.map +1 -1
- package/browser/keypair/Wallet.d.ts.map +1 -1
- package/browser/mnemonic/Mnemonic.d.ts +3 -3
- package/browser/mnemonic/Mnemonic.d.ts.map +1 -1
- package/browser/opnet.d.ts +3 -0
- package/browser/opnet.d.ts.map +1 -1
- package/browser/signer/TweakedSigner.d.ts.map +1 -1
- package/browser/transaction/TransactionFactory.d.ts +3 -3
- package/browser/transaction/TransactionFactory.d.ts.map +1 -1
- package/browser/transaction/browser/BrowserSignerBase.d.ts.map +1 -1
- package/browser/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -1
- package/browser/transaction/browser/extensions/XverseSigner.d.ts.map +1 -1
- package/browser/transaction/builders/CancelTransaction.d.ts.map +1 -1
- package/browser/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -1
- package/browser/transaction/builders/CustomScriptTransaction.d.ts.map +1 -1
- package/browser/transaction/builders/DeploymentTransaction.d.ts.map +1 -1
- package/browser/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -1
- package/browser/transaction/builders/MultiSignTransaction.d.ts.map +1 -1
- package/browser/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -1
- package/browser/transaction/builders/TransactionBuilder.d.ts +5 -0
- package/browser/transaction/builders/TransactionBuilder.d.ts.map +1 -1
- package/browser/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -1
- package/browser/transaction/offline/OfflineTransactionManager.d.ts.map +1 -1
- package/browser/transaction/offline/TransactionReconstructor.d.ts.map +1 -1
- package/browser/transaction/offline/TransactionSerializer.d.ts.map +1 -1
- package/browser/transaction/offline/TransactionStateCapture.d.ts.map +1 -1
- package/browser/transaction/shared/P2TR_MS.d.ts.map +1 -1
- package/build/abi/ABICoder.d.ts +14 -35
- package/build/abi/ABICoder.d.ts.map +1 -1
- package/build/abi/ABICoder.js +119 -141
- package/build/abi/ABICoder.js.map +1 -1
- package/build/abi/ABIDataTypes.d.ts +35 -0
- package/build/abi/ABIDataTypes.d.ts.map +1 -0
- package/build/abi/ABIDataTypes.js +42 -0
- package/build/abi/ABIDataTypes.js.map +1 -0
- package/build/abi/AbiTypes.d.ts +46 -0
- package/build/abi/AbiTypes.d.ts.map +1 -0
- package/build/abi/AbiTypes.js +78 -0
- package/build/abi/AbiTypes.js.map +1 -0
- package/build/abi/TupleUtils.d.ts +25 -0
- package/build/abi/TupleUtils.d.ts.map +1 -0
- package/build/abi/TupleUtils.js +52 -0
- package/build/abi/TupleUtils.js.map +1 -0
- package/build/epoch/validator/EpochValidator.d.ts.map +1 -1
- package/build/epoch/validator/EpochValidator.js +2 -1
- package/build/epoch/validator/EpochValidator.js.map +1 -1
- package/build/generators/builders/CalldataGenerator.d.ts.map +1 -1
- package/build/generators/builders/CalldataGenerator.js +1 -1
- package/build/generators/builders/CalldataGenerator.js.map +1 -1
- package/build/generators/builders/CustomGenerator.d.ts.map +1 -1
- package/build/generators/builders/CustomGenerator.js +1 -1
- package/build/generators/builders/CustomGenerator.js.map +1 -1
- package/build/generators/builders/DeploymentGenerator.d.ts.map +1 -1
- package/build/generators/builders/DeploymentGenerator.js +1 -1
- package/build/generators/builders/DeploymentGenerator.js.map +1 -1
- package/build/generators/builders/LegacyCalldataGenerator.d.ts.map +1 -1
- package/build/generators/builders/LegacyCalldataGenerator.js +1 -1
- package/build/generators/builders/LegacyCalldataGenerator.js.map +1 -1
- package/build/generators/builders/MultiSignGenerator.d.ts.map +1 -1
- package/build/generators/builders/MultiSignGenerator.js.map +1 -1
- package/build/keypair/Address.d.ts +1 -1
- package/build/keypair/Address.d.ts.map +1 -1
- package/build/keypair/Address.js +23 -23
- package/build/keypair/Address.js.map +1 -1
- package/build/keypair/Wallet.d.ts.map +1 -1
- package/build/keypair/Wallet.js.map +1 -1
- package/build/mnemonic/Mnemonic.d.ts +3 -3
- package/build/mnemonic/Mnemonic.d.ts.map +1 -1
- package/build/mnemonic/Mnemonic.js +10 -10
- package/build/mnemonic/Mnemonic.js.map +1 -1
- package/build/opnet.d.ts +3 -0
- package/build/opnet.d.ts.map +1 -1
- package/build/opnet.js +3 -0
- package/build/opnet.js.map +1 -1
- package/build/signer/TweakedSigner.d.ts.map +1 -1
- package/build/signer/TweakedSigner.js.map +1 -1
- package/build/transaction/TransactionFactory.d.ts +3 -3
- package/build/transaction/TransactionFactory.d.ts.map +1 -1
- package/build/transaction/TransactionFactory.js +4 -4
- package/build/transaction/TransactionFactory.js.map +1 -1
- package/build/transaction/browser/BrowserSignerBase.d.ts.map +1 -1
- package/build/transaction/browser/BrowserSignerBase.js.map +1 -1
- package/build/transaction/browser/extensions/UnisatSigner.d.ts.map +1 -1
- package/build/transaction/browser/extensions/UnisatSigner.js.map +1 -1
- package/build/transaction/browser/extensions/XverseSigner.d.ts.map +1 -1
- package/build/transaction/browser/extensions/XverseSigner.js +2 -1
- package/build/transaction/browser/extensions/XverseSigner.js.map +1 -1
- package/build/transaction/builders/CancelTransaction.d.ts.map +1 -1
- package/build/transaction/builders/CancelTransaction.js.map +1 -1
- package/build/transaction/builders/ConsolidatedInteractionTransaction.d.ts.map +1 -1
- package/build/transaction/builders/ConsolidatedInteractionTransaction.js.map +1 -1
- package/build/transaction/builders/CustomScriptTransaction.d.ts.map +1 -1
- package/build/transaction/builders/CustomScriptTransaction.js.map +1 -1
- package/build/transaction/builders/DeploymentTransaction.d.ts.map +1 -1
- package/build/transaction/builders/DeploymentTransaction.js.map +1 -1
- package/build/transaction/builders/InteractionTransactionP2WDA.d.ts.map +1 -1
- package/build/transaction/builders/InteractionTransactionP2WDA.js.map +1 -1
- package/build/transaction/builders/MultiSignTransaction.d.ts.map +1 -1
- package/build/transaction/builders/MultiSignTransaction.js +1 -3
- package/build/transaction/builders/MultiSignTransaction.js.map +1 -1
- package/build/transaction/builders/SharedInteractionTransaction.d.ts.map +1 -1
- package/build/transaction/builders/SharedInteractionTransaction.js.map +1 -1
- package/build/transaction/builders/TransactionBuilder.d.ts +5 -0
- package/build/transaction/builders/TransactionBuilder.d.ts.map +1 -1
- package/build/transaction/builders/TransactionBuilder.js +5 -0
- package/build/transaction/builders/TransactionBuilder.js.map +1 -1
- package/build/transaction/interfaces/ITweakedTransactionData.d.ts +1 -2
- package/build/transaction/interfaces/ITweakedTransactionData.d.ts.map +1 -1
- package/build/transaction/offline/OfflineTransactionManager.d.ts.map +1 -1
- package/build/transaction/offline/OfflineTransactionManager.js +1 -1
- package/build/transaction/offline/OfflineTransactionManager.js.map +1 -1
- package/build/transaction/offline/TransactionReconstructor.d.ts.map +1 -1
- package/build/transaction/offline/TransactionReconstructor.js +54 -18
- package/build/transaction/offline/TransactionReconstructor.js.map +1 -1
- package/build/transaction/offline/TransactionSerializer.d.ts.map +1 -1
- package/build/transaction/offline/TransactionSerializer.js +10 -28
- package/build/transaction/offline/TransactionSerializer.js.map +1 -1
- package/build/transaction/offline/TransactionStateCapture.d.ts.map +1 -1
- package/build/transaction/offline/TransactionStateCapture.js +42 -14
- package/build/transaction/offline/TransactionStateCapture.js.map +1 -1
- package/build/transaction/shared/P2TR_MS.d.ts.map +1 -1
- package/build/transaction/shared/P2TR_MS.js +1 -1
- package/build/transaction/shared/P2TR_MS.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/src/abi/ABICoder.ts +136 -146
- package/src/abi/ABIDataTypes.ts +45 -0
- package/src/abi/AbiTypes.ts +179 -0
- package/src/abi/TupleUtils.ts +59 -0
- package/src/epoch/validator/EpochValidator.ts +2 -1
- package/src/generators/builders/CalldataGenerator.ts +1 -1
- package/src/generators/builders/CustomGenerator.ts +1 -1
- package/src/generators/builders/DeploymentGenerator.ts +8 -1
- package/src/generators/builders/LegacyCalldataGenerator.ts +1 -1
- package/src/generators/builders/MultiSignGenerator.ts +10 -1
- package/src/keypair/Address.ts +25 -25
- package/src/keypair/Wallet.ts +1 -8
- package/src/mnemonic/Mnemonic.ts +16 -16
- package/src/opnet.ts +3 -0
- package/src/signer/TweakedSigner.ts +1 -8
- package/src/transaction/TransactionFactory.ts +11 -4
- package/src/transaction/browser/BrowserSignerBase.ts +1 -6
- package/src/transaction/browser/extensions/UnisatSigner.ts +4 -1
- package/src/transaction/browser/extensions/XverseSigner.ts +3 -1
- package/src/transaction/builders/CancelTransaction.ts +7 -5
- package/src/transaction/builders/ConsolidatedInteractionTransaction.ts +1 -9
- package/src/transaction/builders/CustomScriptTransaction.ts +2 -7
- package/src/transaction/builders/DeploymentTransaction.ts +8 -8
- package/src/transaction/builders/InteractionTransactionP2WDA.ts +6 -1
- package/src/transaction/builders/MultiSignTransaction.ts +1 -3
- package/src/transaction/builders/SharedInteractionTransaction.ts +24 -4
- package/src/transaction/builders/TransactionBuilder.ts +5 -0
- package/src/transaction/interfaces/ITweakedTransactionData.ts +1 -2
- package/src/transaction/offline/OfflineTransactionManager.ts +2 -2
- package/src/transaction/offline/TransactionReconstructor.ts +56 -19
- package/src/transaction/offline/TransactionSerializer.ts +15 -45
- package/src/transaction/offline/TransactionStateCapture.ts +42 -14
- package/src/transaction/shared/P2TR_MS.ts +4 -1
- package/test/address-rotation.test.ts +3 -3
- package/test/address.test.ts +3 -1
- package/test/addressmap.test.ts +6 -2
- package/test/browser/offline-transaction.test.ts +139 -103
- package/test/browser/parallel-signing.test.ts +52 -29
- package/test/browser/transaction-signing.test.ts +54 -56
- package/test/derivePath.test.ts +1 -1
- package/test/disposable.test.ts +7 -32
- package/vite.config.browser.ts +41 -7
- package/vitest.config.browser.ts +31 -4
|
@@ -1,41 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
UINT16 = "UINT16",
|
|
4
|
-
UINT32 = "UINT32",
|
|
5
|
-
UINT64 = "UINT64",
|
|
6
|
-
UINT128 = "UINT128",
|
|
7
|
-
UINT256 = "UINT256",
|
|
8
|
-
INT8 = "INT8",
|
|
9
|
-
INT16 = "INT16",
|
|
10
|
-
INT32 = "INT32",
|
|
11
|
-
INT64 = "INT64",
|
|
12
|
-
INT128 = "INT128",
|
|
13
|
-
BOOL = "BOOL",
|
|
14
|
-
ADDRESS = "ADDRESS",
|
|
15
|
-
EXTENDED_ADDRESS = "EXTENDED_ADDRESS",
|
|
16
|
-
STRING = "STRING",
|
|
17
|
-
BYTES4 = "BYTES4",
|
|
18
|
-
BYTES32 = "BYTES32",
|
|
19
|
-
BYTES = "BYTES",
|
|
20
|
-
ADDRESS_UINT256_TUPLE = "ADDRESS_UINT256_TUPLE",
|
|
21
|
-
EXTENDED_ADDRESS_UINT256_TUPLE = "EXTENDED_ADDRESS_UINT256_TUPLE",
|
|
22
|
-
SCHNORR_SIGNATURE = "SCHNORR_SIGNATURE",
|
|
23
|
-
ARRAY_OF_ADDRESSES = "ARRAY_OF_ADDRESSES",
|
|
24
|
-
ARRAY_OF_EXTENDED_ADDRESSES = "ARRAY_OF_EXTENDED_ADDRESSES",
|
|
25
|
-
ARRAY_OF_UINT256 = "ARRAY_OF_UINT256",
|
|
26
|
-
ARRAY_OF_UINT128 = "ARRAY_OF_UINT128",
|
|
27
|
-
ARRAY_OF_UINT64 = "ARRAY_OF_UINT64",
|
|
28
|
-
ARRAY_OF_UINT32 = "ARRAY_OF_UINT32",
|
|
29
|
-
ARRAY_OF_UINT16 = "ARRAY_OF_UINT16",
|
|
30
|
-
ARRAY_OF_UINT8 = "ARRAY_OF_UINT8",
|
|
31
|
-
ARRAY_OF_STRING = "ARRAY_OF_STRING",
|
|
32
|
-
ARRAY_OF_BYTES = "ARRAY_OF_BYTES",
|
|
33
|
-
ARRAY_OF_BUFFERS = "ARRAY_OF_BUFFERS"
|
|
34
|
-
}
|
|
1
|
+
import { BinaryReader } from '../buffer/BinaryReader.js';
|
|
2
|
+
import { AbiType } from './AbiTypes.js';
|
|
35
3
|
export declare class ABICoder {
|
|
36
|
-
decodeData(data: Uint8Array, types:
|
|
4
|
+
decodeData(data: Uint8Array, types: AbiType[]): unknown[];
|
|
37
5
|
encodeSelector(selectorIdentifier: string): string;
|
|
38
6
|
numericSelectorToHex(selector: number): string;
|
|
7
|
+
/**
|
|
8
|
+
* Decodes a single value from the reader based on the ABI type.
|
|
9
|
+
* Supports ABIDataTypes enum values, tuple arrays, and struct objects.
|
|
10
|
+
*/
|
|
11
|
+
decodeSingleValue(reader: BinaryReader, type: AbiType): unknown;
|
|
12
|
+
/** Decodes a single-element tuple as a flat typed array (u16 count + values). */
|
|
13
|
+
private decodeArray;
|
|
14
|
+
/** Decodes a multi-element tuple as array of tuple entries (u16 count + entries). */
|
|
15
|
+
private decodeTuple;
|
|
16
|
+
/** Decodes a struct as a single object with named fields (inline, no count prefix). */
|
|
17
|
+
private decodeStruct;
|
|
39
18
|
private sha256;
|
|
40
19
|
}
|
|
41
20
|
//# sourceMappingURL=ABICoder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ABICoder.d.ts","sourceRoot":"","sources":["../../src/abi/ABICoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ABICoder.d.ts","sourceRoot":"","sources":["../../src/abi/ABICoder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,qBAAa,QAAQ;IACV,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAWzD,cAAc,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAQlD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIrD;;;OAGG;IACI,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO;IAoFtE,iFAAiF;IACjF,OAAO,CAAC,WAAW;IAWnB,qFAAqF;IACrF,OAAO,CAAC,WAAW;IAenB,uFAAuF;IACvF,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,MAAM;CAGjB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare enum ABIDataTypes {
|
|
2
|
+
UINT8 = "UINT8",
|
|
3
|
+
UINT16 = "UINT16",
|
|
4
|
+
UINT32 = "UINT32",
|
|
5
|
+
UINT64 = "UINT64",
|
|
6
|
+
UINT128 = "UINT128",
|
|
7
|
+
UINT256 = "UINT256",
|
|
8
|
+
INT8 = "INT8",
|
|
9
|
+
INT16 = "INT16",
|
|
10
|
+
INT32 = "INT32",
|
|
11
|
+
INT64 = "INT64",
|
|
12
|
+
INT128 = "INT128",
|
|
13
|
+
BOOL = "BOOL",
|
|
14
|
+
ADDRESS = "ADDRESS",
|
|
15
|
+
EXTENDED_ADDRESS = "EXTENDED_ADDRESS",
|
|
16
|
+
STRING = "STRING",
|
|
17
|
+
BYTES4 = "BYTES4",
|
|
18
|
+
BYTES32 = "BYTES32",
|
|
19
|
+
BYTES = "BYTES",
|
|
20
|
+
ADDRESS_UINT256_TUPLE = "ADDRESS_UINT256_TUPLE",
|
|
21
|
+
EXTENDED_ADDRESS_UINT256_TUPLE = "EXTENDED_ADDRESS_UINT256_TUPLE",
|
|
22
|
+
SCHNORR_SIGNATURE = "SCHNORR_SIGNATURE",
|
|
23
|
+
ARRAY_OF_ADDRESSES = "ARRAY_OF_ADDRESSES",
|
|
24
|
+
ARRAY_OF_EXTENDED_ADDRESSES = "ARRAY_OF_EXTENDED_ADDRESSES",
|
|
25
|
+
ARRAY_OF_UINT256 = "ARRAY_OF_UINT256",
|
|
26
|
+
ARRAY_OF_UINT128 = "ARRAY_OF_UINT128",
|
|
27
|
+
ARRAY_OF_UINT64 = "ARRAY_OF_UINT64",
|
|
28
|
+
ARRAY_OF_UINT32 = "ARRAY_OF_UINT32",
|
|
29
|
+
ARRAY_OF_UINT16 = "ARRAY_OF_UINT16",
|
|
30
|
+
ARRAY_OF_UINT8 = "ARRAY_OF_UINT8",
|
|
31
|
+
ARRAY_OF_STRING = "ARRAY_OF_STRING",
|
|
32
|
+
ARRAY_OF_BYTES = "ARRAY_OF_BYTES",
|
|
33
|
+
ARRAY_OF_BUFFERS = "ARRAY_OF_BUFFERS"
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=ABIDataTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ABIDataTypes.d.ts","sourceRoot":"","sources":["../../src/abi/ABIDataTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IAEpB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IAGnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IAGjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;IAGf,qBAAqB,0BAA0B;IAC/C,8BAA8B,mCAAmC;IAGjE,iBAAiB,sBAAsB;IAGvC,kBAAkB,uBAAuB;IACzC,2BAA2B,gCAAgC;IAC3D,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;CACxC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Address } from '../keypair/Address.js';
|
|
2
|
+
import { AddressMap } from '../deterministic/AddressMap.js';
|
|
3
|
+
import { ExtendedAddressMap } from '../deterministic/ExtendedAddressMap.js';
|
|
4
|
+
import { SchnorrSignature } from '../buffer/BinaryReader.js';
|
|
5
|
+
import { ABIDataTypes } from './ABIDataTypes.js';
|
|
6
|
+
/**
|
|
7
|
+
* Recursive ABI type definition:
|
|
8
|
+
* - Simple: ABIDataTypes enum value (e.g. ABIDataTypes.ADDRESS)
|
|
9
|
+
* - Tuple: ordered array of AbiType (e.g. [ABIDataTypes.ADDRESS, ABIDataTypes.UINT8])
|
|
10
|
+
* - Struct: named fields mapping to AbiType (e.g. { field1: ABIDataTypes.ADDRESS, field2: ABIDataTypes.UINT256 })
|
|
11
|
+
* - Nested: any combination (e.g. [ABIDataTypes.ADDRESS, { inner: ABIDataTypes.UINT8 }])
|
|
12
|
+
*/
|
|
13
|
+
export type AbiType = ABIDataTypes | AbiType[] | {
|
|
14
|
+
[field: string]: AbiType;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Maps an AbiType to its corresponding TypeScript type at the type level.
|
|
18
|
+
*
|
|
19
|
+
* Usage with `as const`:
|
|
20
|
+
* ```ts
|
|
21
|
+
* const abi = { name: 'balance', type: ABIDataTypes.UINT256 } as const;
|
|
22
|
+
* type Result = InferAbiType<typeof abi.type>; // bigint
|
|
23
|
+
*
|
|
24
|
+
* const structAbi = { name: 'status', type: { minted: ABIDataTypes.UINT256, active: ABIDataTypes.BOOL } } as const;
|
|
25
|
+
* type StatusResult = InferAbiType<typeof structAbi.type>; // { minted: bigint; active: boolean }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export type InferAbiType<T extends AbiType> = T extends ABIDataTypes.UINT8 | ABIDataTypes.UINT16 | ABIDataTypes.UINT32 | ABIDataTypes.INT8 | ABIDataTypes.INT16 | ABIDataTypes.INT32 ? number : T extends ABIDataTypes.UINT64 | ABIDataTypes.UINT128 | ABIDataTypes.UINT256 | ABIDataTypes.INT64 | ABIDataTypes.INT128 ? bigint : T extends ABIDataTypes.BOOL ? boolean : T extends ABIDataTypes.STRING ? string : T extends ABIDataTypes.ADDRESS | ABIDataTypes.EXTENDED_ADDRESS ? Address : T extends ABIDataTypes.BYTES | ABIDataTypes.BYTES4 | ABIDataTypes.BYTES32 ? Uint8Array : T extends ABIDataTypes.SCHNORR_SIGNATURE ? SchnorrSignature : T extends ABIDataTypes.ADDRESS_UINT256_TUPLE ? AddressMap<bigint> : T extends ABIDataTypes.EXTENDED_ADDRESS_UINT256_TUPLE ? ExtendedAddressMap<bigint> : T extends ABIDataTypes.ARRAY_OF_ADDRESSES | ABIDataTypes.ARRAY_OF_EXTENDED_ADDRESSES ? Address[] : T extends ABIDataTypes.ARRAY_OF_UINT256 | ABIDataTypes.ARRAY_OF_UINT128 | ABIDataTypes.ARRAY_OF_UINT64 ? bigint[] : T extends ABIDataTypes.ARRAY_OF_UINT32 | ABIDataTypes.ARRAY_OF_UINT16 | ABIDataTypes.ARRAY_OF_UINT8 ? number[] : T extends ABIDataTypes.ARRAY_OF_STRING ? string[] : T extends ABIDataTypes.ARRAY_OF_BYTES | ABIDataTypes.ARRAY_OF_BUFFERS ? Uint8Array[] : T extends Record<string, AbiType> ? {
|
|
29
|
+
[K in keyof T]: T[K] extends AbiType ? InferAbiType<T[K]> : never;
|
|
30
|
+
} : T extends readonly [infer Single extends AbiType] ? InferAbiType<Single>[] : T extends readonly [AbiType, AbiType, ...AbiType[]] ? {
|
|
31
|
+
[K in keyof T]: T[K] extends AbiType ? InferAbiType<T[K]> : T[K];
|
|
32
|
+
}[] : T extends readonly AbiType[] ? unknown[] : never;
|
|
33
|
+
/**
|
|
34
|
+
* Canonical string → ABIDataTypes mapping.
|
|
35
|
+
* Only includes canonical ABI-style names (not AssemblyScript aliases).
|
|
36
|
+
*/
|
|
37
|
+
export declare const StrToAbiType: {
|
|
38
|
+
[key: string]: ABIDataTypes;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Canonical reverse mapping: ABIDataTypes → canonical string.
|
|
42
|
+
*/
|
|
43
|
+
export declare const AbiTypeToStr: {
|
|
44
|
+
[key in ABIDataTypes]: string;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=AbiTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbiTypes.d.ts","sourceRoot":"","sources":["../../src/abi/AbiTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ABIDataTypes } from './ABIDataTypes.js';
|
|
2
|
+
import { AbiType } from './AbiTypes.js';
|
|
3
|
+
/**
|
|
4
|
+
* Type guard: returns true if the ABI type is a tuple (ordered array of types).
|
|
5
|
+
*/
|
|
6
|
+
export declare function isAbiTuple(type: AbiType): type is AbiType[];
|
|
7
|
+
/**
|
|
8
|
+
* Type guard: returns true if the ABI type is a struct (named fields).
|
|
9
|
+
*/
|
|
10
|
+
export declare function isAbiStruct(type: AbiType): type is {
|
|
11
|
+
[field: string]: AbiType;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Type guard: returns true if the ABI type is a simple ABIDataTypes enum value.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isSimpleAbiType(type: AbiType): type is ABIDataTypes;
|
|
17
|
+
/**
|
|
18
|
+
* Converts a structured AbiType into a canonical selector string.
|
|
19
|
+
* - Simple: ABIDataTypes.ADDRESS → "address"
|
|
20
|
+
* - Struct: { a: ADDRESS, b: UINT256 } → "tuple(address,uint256)" (inline, no [])
|
|
21
|
+
* - Single-element tuple: [UINT256] → "uint256[]"
|
|
22
|
+
* - Multi-element tuple: [ADDRESS, UINT256] → "tuple(address,uint256)[]"
|
|
23
|
+
*/
|
|
24
|
+
export declare function abiTypeToSelectorString(type: AbiType): string;
|
|
25
|
+
//# sourceMappingURL=TupleUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TupleUtils.d.ts","sourceRoot":"","sources":["../../src/abi/TupleUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,OAAO,EAAE,CAE3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAE/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,YAAY,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CA0B7D"}
|