@bitgo-beta/abstract-eth 1.0.2-beta.199 → 1.0.2-beta.1991
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/src/abstractEthLikeCoin.d.ts +18 -9
- package/dist/src/abstractEthLikeCoin.d.ts.map +1 -1
- package/dist/src/abstractEthLikeCoin.js +39 -15
- package/dist/src/abstractEthLikeNewCoins.d.ts +847 -0
- package/dist/src/abstractEthLikeNewCoins.d.ts.map +1 -0
- package/dist/src/abstractEthLikeNewCoins.js +2545 -0
- package/dist/src/ethLikeToken.d.ts +36 -6
- package/dist/src/ethLikeToken.d.ts.map +1 -1
- package/dist/src/ethLikeToken.js +285 -10
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -2
- package/dist/src/lib/constants.d.ts +4 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +11 -0
- package/dist/src/lib/contractCall.d.ts +8 -0
- package/dist/src/lib/contractCall.d.ts.map +1 -0
- package/dist/src/lib/contractCall.js +17 -0
- package/dist/src/lib/decryptionDelegationBuilder.d.ts +90 -0
- package/dist/src/lib/decryptionDelegationBuilder.d.ts.map +1 -0
- package/dist/src/lib/decryptionDelegationBuilder.js +59 -0
- package/dist/src/lib/iface.d.ts +133 -0
- package/dist/src/lib/iface.d.ts.map +1 -0
- package/dist/src/lib/iface.js +8 -0
- package/dist/src/lib/index.d.ts +19 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +60 -0
- package/dist/src/lib/keyPair.d.ts +26 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +65 -0
- package/dist/src/lib/messages/eip191/eip191Message.d.ts +12 -0
- package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +1 -0
- package/dist/src/lib/messages/eip191/eip191Message.js +25 -0
- package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +19 -0
- package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
- package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +27 -0
- package/dist/src/lib/messages/eip191/index.d.ts +3 -0
- package/dist/src/lib/messages/eip191/index.d.ts.map +1 -0
- package/dist/src/lib/messages/eip191/index.js +19 -0
- package/dist/src/lib/messages/eip712/eip712Message.d.ts +6 -0
- package/dist/src/lib/messages/eip712/eip712Message.d.ts.map +1 -0
- package/dist/src/lib/messages/eip712/eip712Message.js +27 -0
- package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts +7 -0
- package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts.map +1 -0
- package/dist/src/lib/messages/eip712/eip712MessageBuilder.js +15 -0
- package/dist/src/lib/messages/eip712/index.d.ts +3 -0
- package/dist/src/lib/messages/eip712/index.d.ts.map +1 -0
- package/dist/src/lib/messages/eip712/index.js +19 -0
- package/dist/src/lib/messages/index.d.ts +4 -0
- package/dist/src/lib/messages/index.d.ts.map +1 -0
- package/dist/src/lib/messages/index.js +20 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/messages/messageBuilderFactory.js +23 -0
- package/dist/src/lib/transaction.d.ts +67 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +142 -0
- package/dist/src/lib/transactionBuilder.d.ts +270 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +834 -0
- package/dist/src/lib/transferBuilder.d.ts +76 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +307 -0
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts +54 -0
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +120 -0
- package/dist/src/lib/transferBuilders/index.d.ts +4 -0
- package/dist/src/lib/transferBuilders/index.d.ts.map +1 -0
- package/dist/src/lib/transferBuilders/index.js +20 -0
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts +17 -0
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts.map +1 -0
- package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +96 -0
- package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts +21 -0
- package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts.map +1 -0
- package/dist/src/lib/transferBuilders/transferBuilderERC721.js +91 -0
- package/dist/src/lib/types.d.ts +39 -0
- package/dist/src/lib/types.d.ts.map +1 -0
- package/dist/src/lib/types.js +137 -0
- package/dist/src/lib/utils.d.ts +310 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +851 -0
- package/dist/src/lib/walletUtil.d.ts +42 -0
- package/dist/src/lib/walletUtil.d.ts.map +1 -0
- package/dist/src/lib/walletUtil.js +45 -0
- package/dist/src/lib/zamaUtils.d.ts +61 -0
- package/dist/src/lib/zamaUtils.d.ts.map +1 -0
- package/dist/src/lib/zamaUtils.js +105 -0
- package/dist/src/types.d.ts +9 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +3 -0
- package/dist/test/index.d.ts +2 -0
- package/dist/test/index.d.ts.map +1 -0
- package/dist/test/index.js +18 -0
- package/dist/test/unit/coin.d.ts +8 -0
- package/dist/test/unit/coin.d.ts.map +1 -0
- package/dist/test/unit/coin.js +577 -0
- package/dist/test/unit/decryptionDelegationBuilder.d.ts +2 -0
- package/dist/test/unit/decryptionDelegationBuilder.d.ts.map +1 -0
- package/dist/test/unit/decryptionDelegationBuilder.js +265 -0
- package/dist/test/unit/index.d.ts +8 -0
- package/dist/test/unit/index.d.ts.map +1 -0
- package/dist/test/unit/index.js +24 -0
- package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts +3 -0
- package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts.map +1 -0
- package/dist/test/unit/messages/abstractEthMessageBuilderTests.js +110 -0
- package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts +43 -0
- package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts.map +1 -0
- package/dist/test/unit/messages/abstractEthMessageTestTypes.js +3 -0
- package/dist/test/unit/messages/abstractEthMessagesTests.d.ts +3 -0
- package/dist/test/unit/messages/abstractEthMessagesTests.d.ts.map +1 -0
- package/dist/test/unit/messages/abstractEthMessagesTests.js +129 -0
- package/dist/test/unit/messages/eip191/eip191Message.d.ts +2 -0
- package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +1 -0
- package/dist/test/unit/messages/eip191/eip191Message.js +15 -0
- package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +2 -0
- package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
- package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +16 -0
- package/dist/test/unit/messages/eip191/fixtures.d.ts +109 -0
- package/dist/test/unit/messages/eip191/fixtures.d.ts.map +1 -0
- package/dist/test/unit/messages/eip191/fixtures.js +63 -0
- package/dist/test/unit/messages/eip712/eip712Message.d.ts +2 -0
- package/dist/test/unit/messages/eip712/eip712Message.d.ts.map +1 -0
- package/dist/test/unit/messages/eip712/eip712Message.js +15 -0
- package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts +2 -0
- package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts.map +1 -0
- package/dist/test/unit/messages/eip712/eip712MessageBuilder.js +16 -0
- package/dist/test/unit/messages/eip712/fixtures.d.ts +76 -0
- package/dist/test/unit/messages/eip712/fixtures.d.ts.map +1 -0
- package/dist/test/unit/messages/eip712/fixtures.js +120 -0
- package/dist/test/unit/messages/index.d.ts +4 -0
- package/dist/test/unit/messages/index.d.ts.map +1 -0
- package/dist/test/unit/messages/index.js +20 -0
- package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
- package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/messages/messageBuilderFactory.js +52 -0
- package/dist/test/unit/token.d.ts +2 -0
- package/dist/test/unit/token.d.ts.map +1 -0
- package/dist/test/unit/token.js +37 -0
- package/dist/test/unit/transaction.d.ts +3 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +60 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +8 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.js +95 -0
- package/dist/test/unit/transactionBuilder/decryptionDelegation.d.ts +3 -0
- package/dist/test/unit/transactionBuilder/decryptionDelegation.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/decryptionDelegation.js +161 -0
- package/dist/test/unit/transactionBuilder/flushNft.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/flushNft.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/flushNft.js +381 -0
- package/dist/test/unit/transactionBuilder/index.d.ts +6 -0
- package/dist/test/unit/transactionBuilder/index.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/index.js +22 -0
- package/dist/test/unit/transactionBuilder/send.d.ts +3 -0
- package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/send.js +197 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +11 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.js +137 -0
- package/dist/test/unit/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transferBuilder.js +76 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +214 -0
- package/dist/test/unit/zamaUtils.d.ts +2 -0
- package/dist/test/unit/zamaUtils.d.ts.map +1 -0
- package/dist/test/unit/zamaUtils.js +251 -0
- package/dist/tsconfig.tsbuildinfo +1 -8244
- package/package.json +34 -10
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -166
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare const sendMultisigMethodId = "0x39125215";
|
|
2
|
+
export declare const sendMultisigTokenMethodId = "0x0dcd7a6c";
|
|
3
|
+
export declare const v1CreateForwarderMethodId = "0xfb90b320";
|
|
4
|
+
export declare const v4CreateForwarderMethodId = "0x13b2f75c";
|
|
5
|
+
export declare const v1WalletInitializationFirstBytes = "0x60806040";
|
|
6
|
+
export declare const v1CreateWalletMethodId = "0x7117f3fa";
|
|
7
|
+
export declare const createForwarderMethodId = "0xa68a76cc";
|
|
8
|
+
export declare const walletInitializationFirstBytes = "0x60606040";
|
|
9
|
+
export declare const recoveryWalletInitializationFirstBytes = "0x60c06040";
|
|
10
|
+
export declare const flushForwarderTokensMethodId = "0x2da03409";
|
|
11
|
+
export declare const flushForwarderTokensMethodIdV4 = "0x3ef13367";
|
|
12
|
+
export declare const flushCoinsMethodId = "0x6b9f96ea";
|
|
13
|
+
export declare const flushERC721ForwarderTokensMethodId = "0x5a953d0a";
|
|
14
|
+
export declare const flushERC721ForwarderTokensMethodIdV4 = "0x159e44d7";
|
|
15
|
+
export declare const flushERC1155ForwarderTokensMethodId = "0xe6bd0aa4";
|
|
16
|
+
export declare const flushERC1155ForwarderTokensMethodIdV4 = "0x8972c17c";
|
|
17
|
+
export declare const ERC721SafeTransferTypeMethodId = "0xb88d4fde";
|
|
18
|
+
export declare const ERC721TransferFromMethodId = "0x23b872dd";
|
|
19
|
+
export declare const ERC1155SafeTransferTypeMethodId = "0xf242432a";
|
|
20
|
+
export declare const ERC1155BatchTransferTypeMethodId = "0x2eb2c2d6";
|
|
21
|
+
export declare const defaultForwarderVersion = 0;
|
|
22
|
+
export declare const defaultWalletVersion = 0;
|
|
23
|
+
export declare const walletSimpleConstructor: string[];
|
|
24
|
+
export declare const createV1WalletTypes: string[];
|
|
25
|
+
export declare const flushTokensTypes: string[];
|
|
26
|
+
export declare const flushTokensTypesv4: string[];
|
|
27
|
+
export declare const flushCoinsTypes: never[];
|
|
28
|
+
export declare const flushERC721TokensTypes: string[];
|
|
29
|
+
export declare const flushERC721TokensTypesv4: string[];
|
|
30
|
+
export declare const flushERC1155TokensTypes: string[];
|
|
31
|
+
export declare const flushERC1155TokensTypesv4: string[];
|
|
32
|
+
export declare const sendMultiSigTypes: string[];
|
|
33
|
+
export declare const sendMultiSigTypesFirstSigner: string[];
|
|
34
|
+
export declare const sendMultiSigTokenTypes: string[];
|
|
35
|
+
export declare const sendMultiSigTokenTypesFirstSigner: string[];
|
|
36
|
+
export declare const ERC721SafeTransferTypes: string[];
|
|
37
|
+
export declare const ERC721TransferFromTypes: string[];
|
|
38
|
+
export declare const ERC1155SafeTransferTypes: string[];
|
|
39
|
+
export declare const ERC1155BatchTransferTypes: string[];
|
|
40
|
+
export declare const createV1ForwarderTypes: string[];
|
|
41
|
+
export declare const createV4ForwarderTypes: string[];
|
|
42
|
+
//# sourceMappingURL=walletUtil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletUtil.d.ts","sourceRoot":"","sources":["../../../src/lib/walletUtil.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,gCAAgC,eAAe,CAAC;AAC7D,eAAO,MAAM,sBAAsB,eAAe,CAAC;AACnD,eAAO,MAAM,uBAAuB,eAAe,CAAC;AACpD,eAAO,MAAM,8BAA8B,eAAe,CAAC;AAC3D,eAAO,MAAM,sCAAsC,eAAe,CAAC;AACnE,eAAO,MAAM,4BAA4B,eAAe,CAAC;AACzD,eAAO,MAAM,8BAA8B,eAAe,CAAC;AAC3D,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,kCAAkC,eAAe,CAAC;AAC/D,eAAO,MAAM,oCAAoC,eAAe,CAAC;AACjE,eAAO,MAAM,mCAAmC,eAAe,CAAC;AAChE,eAAO,MAAM,qCAAqC,eAAe,CAAC;AAElE,eAAO,MAAM,8BAA8B,eAAe,CAAC;AAC3D,eAAO,MAAM,0BAA0B,eAAe,CAAC;AACvD,eAAO,MAAM,+BAA+B,eAAe,CAAC;AAC5D,eAAO,MAAM,gCAAgC,eAAe,CAAC;AAC7D,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,eAAO,MAAM,uBAAuB,UAAgB,CAAC;AACrD,eAAO,MAAM,mBAAmB,UAA2B,CAAC;AAC5D,eAAO,MAAM,gBAAgB,UAAyB,CAAC;AACvD,eAAO,MAAM,kBAAkB,UAAc,CAAC;AAC9C,eAAO,MAAM,eAAe,SAAK,CAAC;AAClC,eAAO,MAAM,sBAAsB,UAAoC,CAAC;AACxE,eAAO,MAAM,wBAAwB,UAAyB,CAAC;AAC/D,eAAO,MAAM,uBAAuB,UAAoC,CAAC;AACzE,eAAO,MAAM,yBAAyB,UAAyB,CAAC;AAEhE,eAAO,MAAM,iBAAiB,UAAwD,CAAC;AACvF,eAAO,MAAM,4BAA4B,UAAyD,CAAC;AAEnG,eAAO,MAAM,sBAAsB,UAA0D,CAAC;AAC9F,eAAO,MAAM,iCAAiC,UAA2D,CAAC;AAE1G,eAAO,MAAM,uBAAuB,UAA6C,CAAC;AAClF,eAAO,MAAM,uBAAuB,UAAoC,CAAC;AAEzE,eAAO,MAAM,wBAAwB,UAAwD,CAAC;AAC9F,eAAO,MAAM,yBAAyB,UAA4D,CAAC;AACnG,eAAO,MAAM,sBAAsB,UAAyB,CAAC;AAC7D,eAAO,MAAM,sBAAsB,UAAoC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createV4ForwarderTypes = exports.createV1ForwarderTypes = exports.ERC1155BatchTransferTypes = exports.ERC1155SafeTransferTypes = exports.ERC721TransferFromTypes = exports.ERC721SafeTransferTypes = exports.sendMultiSigTokenTypesFirstSigner = exports.sendMultiSigTokenTypes = exports.sendMultiSigTypesFirstSigner = exports.sendMultiSigTypes = exports.flushERC1155TokensTypesv4 = exports.flushERC1155TokensTypes = exports.flushERC721TokensTypesv4 = exports.flushERC721TokensTypes = exports.flushCoinsTypes = exports.flushTokensTypesv4 = exports.flushTokensTypes = exports.createV1WalletTypes = exports.walletSimpleConstructor = exports.defaultWalletVersion = exports.defaultForwarderVersion = exports.ERC1155BatchTransferTypeMethodId = exports.ERC1155SafeTransferTypeMethodId = exports.ERC721TransferFromMethodId = exports.ERC721SafeTransferTypeMethodId = exports.flushERC1155ForwarderTokensMethodIdV4 = exports.flushERC1155ForwarderTokensMethodId = exports.flushERC721ForwarderTokensMethodIdV4 = exports.flushERC721ForwarderTokensMethodId = exports.flushCoinsMethodId = exports.flushForwarderTokensMethodIdV4 = exports.flushForwarderTokensMethodId = exports.recoveryWalletInitializationFirstBytes = exports.walletInitializationFirstBytes = exports.createForwarderMethodId = exports.v1CreateWalletMethodId = exports.v1WalletInitializationFirstBytes = exports.v4CreateForwarderMethodId = exports.v1CreateForwarderMethodId = exports.sendMultisigTokenMethodId = exports.sendMultisigMethodId = void 0;
|
|
4
|
+
exports.sendMultisigMethodId = '0x39125215';
|
|
5
|
+
exports.sendMultisigTokenMethodId = '0x0dcd7a6c';
|
|
6
|
+
exports.v1CreateForwarderMethodId = '0xfb90b320';
|
|
7
|
+
exports.v4CreateForwarderMethodId = '0x13b2f75c';
|
|
8
|
+
exports.v1WalletInitializationFirstBytes = '0x60806040';
|
|
9
|
+
exports.v1CreateWalletMethodId = '0x7117f3fa';
|
|
10
|
+
exports.createForwarderMethodId = '0xa68a76cc';
|
|
11
|
+
exports.walletInitializationFirstBytes = '0x60606040';
|
|
12
|
+
exports.recoveryWalletInitializationFirstBytes = '0x60c06040';
|
|
13
|
+
exports.flushForwarderTokensMethodId = '0x2da03409';
|
|
14
|
+
exports.flushForwarderTokensMethodIdV4 = '0x3ef13367';
|
|
15
|
+
exports.flushCoinsMethodId = '0x6b9f96ea';
|
|
16
|
+
exports.flushERC721ForwarderTokensMethodId = '0x5a953d0a';
|
|
17
|
+
exports.flushERC721ForwarderTokensMethodIdV4 = '0x159e44d7';
|
|
18
|
+
exports.flushERC1155ForwarderTokensMethodId = '0xe6bd0aa4';
|
|
19
|
+
exports.flushERC1155ForwarderTokensMethodIdV4 = '0x8972c17c';
|
|
20
|
+
exports.ERC721SafeTransferTypeMethodId = '0xb88d4fde';
|
|
21
|
+
exports.ERC721TransferFromMethodId = '0x23b872dd';
|
|
22
|
+
exports.ERC1155SafeTransferTypeMethodId = '0xf242432a';
|
|
23
|
+
exports.ERC1155BatchTransferTypeMethodId = '0x2eb2c2d6';
|
|
24
|
+
exports.defaultForwarderVersion = 0;
|
|
25
|
+
exports.defaultWalletVersion = 0;
|
|
26
|
+
exports.walletSimpleConstructor = ['address[]'];
|
|
27
|
+
exports.createV1WalletTypes = ['address[]', 'bytes32'];
|
|
28
|
+
exports.flushTokensTypes = ['address', 'address'];
|
|
29
|
+
exports.flushTokensTypesv4 = ['address'];
|
|
30
|
+
exports.flushCoinsTypes = [];
|
|
31
|
+
exports.flushERC721TokensTypes = ['address', 'address', 'uint256'];
|
|
32
|
+
exports.flushERC721TokensTypesv4 = ['address', 'uint256'];
|
|
33
|
+
exports.flushERC1155TokensTypes = ['address', 'address', 'uint256'];
|
|
34
|
+
exports.flushERC1155TokensTypesv4 = ['address', 'uint256'];
|
|
35
|
+
exports.sendMultiSigTypes = ['address', 'uint', 'bytes', 'uint', 'uint', 'bytes'];
|
|
36
|
+
exports.sendMultiSigTypesFirstSigner = ['string', 'address', 'uint', 'bytes', 'uint', 'uint'];
|
|
37
|
+
exports.sendMultiSigTokenTypes = ['address', 'uint', 'address', 'uint', 'uint', 'bytes'];
|
|
38
|
+
exports.sendMultiSigTokenTypesFirstSigner = ['string', 'address', 'uint', 'address', 'uint', 'uint'];
|
|
39
|
+
exports.ERC721SafeTransferTypes = ['address', 'address', 'uint256', 'bytes'];
|
|
40
|
+
exports.ERC721TransferFromTypes = ['address', 'address', 'uint256'];
|
|
41
|
+
exports.ERC1155SafeTransferTypes = ['address', 'address', 'uint256', 'uint256', 'bytes'];
|
|
42
|
+
exports.ERC1155BatchTransferTypes = ['address', 'address', 'uint256[]', 'uint256[]', 'bytes'];
|
|
43
|
+
exports.createV1ForwarderTypes = ['address', 'bytes32'];
|
|
44
|
+
exports.createV4ForwarderTypes = ['address', 'address', 'bytes32'];
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvd2FsbGV0VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUNwQyxRQUFBLHlCQUF5QixHQUFHLFlBQVksQ0FBQztBQUN6QyxRQUFBLHlCQUF5QixHQUFHLFlBQVksQ0FBQztBQUN6QyxRQUFBLHlCQUF5QixHQUFHLFlBQVksQ0FBQztBQUN6QyxRQUFBLGdDQUFnQyxHQUFHLFlBQVksQ0FBQztBQUNoRCxRQUFBLHNCQUFzQixHQUFHLFlBQVksQ0FBQztBQUN0QyxRQUFBLHVCQUF1QixHQUFHLFlBQVksQ0FBQztBQUN2QyxRQUFBLDhCQUE4QixHQUFHLFlBQVksQ0FBQztBQUM5QyxRQUFBLHNDQUFzQyxHQUFHLFlBQVksQ0FBQztBQUN0RCxRQUFBLDRCQUE0QixHQUFHLFlBQVksQ0FBQztBQUM1QyxRQUFBLDhCQUE4QixHQUFHLFlBQVksQ0FBQztBQUM5QyxRQUFBLGtCQUFrQixHQUFHLFlBQVksQ0FBQztBQUNsQyxRQUFBLGtDQUFrQyxHQUFHLFlBQVksQ0FBQztBQUNsRCxRQUFBLG9DQUFvQyxHQUFHLFlBQVksQ0FBQztBQUNwRCxRQUFBLG1DQUFtQyxHQUFHLFlBQVksQ0FBQztBQUNuRCxRQUFBLHFDQUFxQyxHQUFHLFlBQVksQ0FBQztBQUVyRCxRQUFBLDhCQUE4QixHQUFHLFlBQVksQ0FBQztBQUM5QyxRQUFBLDBCQUEwQixHQUFHLFlBQVksQ0FBQztBQUMxQyxRQUFBLCtCQUErQixHQUFHLFlBQVksQ0FBQztBQUMvQyxRQUFBLGdDQUFnQyxHQUFHLFlBQVksQ0FBQztBQUNoRCxRQUFBLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUM1QixRQUFBLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQUV6QixRQUFBLHVCQUF1QixHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDeEMsUUFBQSxtQkFBbUIsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMvQyxRQUFBLGdCQUFnQixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzFDLFFBQUEsa0JBQWtCLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNqQyxRQUFBLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFDckIsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDM0QsUUFBQSx3QkFBd0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNsRCxRQUFBLHVCQUF1QixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM1RCxRQUFBLHlCQUF5QixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRW5ELFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFFLFFBQUEsNEJBQTRCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRXRGLFFBQUEsc0JBQXNCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2pGLFFBQUEsaUNBQWlDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRTdGLFFBQUEsdUJBQXVCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyRSxRQUFBLHVCQUF1QixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUU1RCxRQUFBLHdCQUF3QixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2pGLFFBQUEseUJBQXlCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDdEYsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNoRCxRQUFBLHNCQUFzQixHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzZW5kTXVsdGlzaWdNZXRob2RJZCA9ICcweDM5MTI1MjE1JztcbmV4cG9ydCBjb25zdCBzZW5kTXVsdGlzaWdUb2tlbk1ldGhvZElkID0gJzB4MGRjZDdhNmMnO1xuZXhwb3J0IGNvbnN0IHYxQ3JlYXRlRm9yd2FyZGVyTWV0aG9kSWQgPSAnMHhmYjkwYjMyMCc7XG5leHBvcnQgY29uc3QgdjRDcmVhdGVGb3J3YXJkZXJNZXRob2RJZCA9ICcweDEzYjJmNzVjJztcbmV4cG9ydCBjb25zdCB2MVdhbGxldEluaXRpYWxpemF0aW9uRmlyc3RCeXRlcyA9ICcweDYwODA2MDQwJztcbmV4cG9ydCBjb25zdCB2MUNyZWF0ZVdhbGxldE1ldGhvZElkID0gJzB4NzExN2YzZmEnO1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUZvcndhcmRlck1ldGhvZElkID0gJzB4YTY4YTc2Y2MnO1xuZXhwb3J0IGNvbnN0IHdhbGxldEluaXRpYWxpemF0aW9uRmlyc3RCeXRlcyA9ICcweDYwNjA2MDQwJztcbmV4cG9ydCBjb25zdCByZWNvdmVyeVdhbGxldEluaXRpYWxpemF0aW9uRmlyc3RCeXRlcyA9ICcweDYwYzA2MDQwJztcbmV4cG9ydCBjb25zdCBmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkID0gJzB4MmRhMDM0MDknO1xuZXhwb3J0IGNvbnN0IGZsdXNoRm9yd2FyZGVyVG9rZW5zTWV0aG9kSWRWNCA9ICcweDNlZjEzMzY3JztcbmV4cG9ydCBjb25zdCBmbHVzaENvaW5zTWV0aG9kSWQgPSAnMHg2YjlmOTZlYSc7XG5leHBvcnQgY29uc3QgZmx1c2hFUkM3MjFGb3J3YXJkZXJUb2tlbnNNZXRob2RJZCA9ICcweDVhOTUzZDBhJztcbmV4cG9ydCBjb25zdCBmbHVzaEVSQzcyMUZvcndhcmRlclRva2Vuc01ldGhvZElkVjQgPSAnMHgxNTllNDRkNyc7XG5leHBvcnQgY29uc3QgZmx1c2hFUkMxMTU1Rm9yd2FyZGVyVG9rZW5zTWV0aG9kSWQgPSAnMHhlNmJkMGFhNCc7XG5leHBvcnQgY29uc3QgZmx1c2hFUkMxMTU1Rm9yd2FyZGVyVG9rZW5zTWV0aG9kSWRWNCA9ICcweDg5NzJjMTdjJztcblxuZXhwb3J0IGNvbnN0IEVSQzcyMVNhZmVUcmFuc2ZlclR5cGVNZXRob2RJZCA9ICcweGI4OGQ0ZmRlJztcbmV4cG9ydCBjb25zdCBFUkM3MjFUcmFuc2ZlckZyb21NZXRob2RJZCA9ICcweDIzYjg3MmRkJztcbmV4cG9ydCBjb25zdCBFUkMxMTU1U2FmZVRyYW5zZmVyVHlwZU1ldGhvZElkID0gJzB4ZjI0MjQzMmEnO1xuZXhwb3J0IGNvbnN0IEVSQzExNTVCYXRjaFRyYW5zZmVyVHlwZU1ldGhvZElkID0gJzB4MmViMmMyZDYnO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRGb3J3YXJkZXJWZXJzaW9uID0gMDtcbmV4cG9ydCBjb25zdCBkZWZhdWx0V2FsbGV0VmVyc2lvbiA9IDA7XG5cbmV4cG9ydCBjb25zdCB3YWxsZXRTaW1wbGVDb25zdHJ1Y3RvciA9IFsnYWRkcmVzc1tdJ107XG5leHBvcnQgY29uc3QgY3JlYXRlVjFXYWxsZXRUeXBlcyA9IFsnYWRkcmVzc1tdJywgJ2J5dGVzMzInXTtcbmV4cG9ydCBjb25zdCBmbHVzaFRva2Vuc1R5cGVzID0gWydhZGRyZXNzJywgJ2FkZHJlc3MnXTtcbmV4cG9ydCBjb25zdCBmbHVzaFRva2Vuc1R5cGVzdjQgPSBbJ2FkZHJlc3MnXTtcbmV4cG9ydCBjb25zdCBmbHVzaENvaW5zVHlwZXMgPSBbXTtcbmV4cG9ydCBjb25zdCBmbHVzaEVSQzcyMVRva2Vuc1R5cGVzID0gWydhZGRyZXNzJywgJ2FkZHJlc3MnLCAndWludDI1NiddO1xuZXhwb3J0IGNvbnN0IGZsdXNoRVJDNzIxVG9rZW5zVHlwZXN2NCA9IFsnYWRkcmVzcycsICd1aW50MjU2J107XG5leHBvcnQgY29uc3QgZmx1c2hFUkMxMTU1VG9rZW5zVHlwZXMgPSBbJ2FkZHJlc3MnLCAnYWRkcmVzcycsICd1aW50MjU2J107XG5leHBvcnQgY29uc3QgZmx1c2hFUkMxMTU1VG9rZW5zVHlwZXN2NCA9IFsnYWRkcmVzcycsICd1aW50MjU2J107XG5cbmV4cG9ydCBjb25zdCBzZW5kTXVsdGlTaWdUeXBlcyA9IFsnYWRkcmVzcycsICd1aW50JywgJ2J5dGVzJywgJ3VpbnQnLCAndWludCcsICdieXRlcyddO1xuZXhwb3J0IGNvbnN0IHNlbmRNdWx0aVNpZ1R5cGVzRmlyc3RTaWduZXIgPSBbJ3N0cmluZycsICdhZGRyZXNzJywgJ3VpbnQnLCAnYnl0ZXMnLCAndWludCcsICd1aW50J107XG5cbmV4cG9ydCBjb25zdCBzZW5kTXVsdGlTaWdUb2tlblR5cGVzID0gWydhZGRyZXNzJywgJ3VpbnQnLCAnYWRkcmVzcycsICd1aW50JywgJ3VpbnQnLCAnYnl0ZXMnXTtcbmV4cG9ydCBjb25zdCBzZW5kTXVsdGlTaWdUb2tlblR5cGVzRmlyc3RTaWduZXIgPSBbJ3N0cmluZycsICdhZGRyZXNzJywgJ3VpbnQnLCAnYWRkcmVzcycsICd1aW50JywgJ3VpbnQnXTtcblxuZXhwb3J0IGNvbnN0IEVSQzcyMVNhZmVUcmFuc2ZlclR5cGVzID0gWydhZGRyZXNzJywgJ2FkZHJlc3MnLCAndWludDI1NicsICdieXRlcyddO1xuZXhwb3J0IGNvbnN0IEVSQzcyMVRyYW5zZmVyRnJvbVR5cGVzID0gWydhZGRyZXNzJywgJ2FkZHJlc3MnLCAndWludDI1NiddO1xuXG5leHBvcnQgY29uc3QgRVJDMTE1NVNhZmVUcmFuc2ZlclR5cGVzID0gWydhZGRyZXNzJywgJ2FkZHJlc3MnLCAndWludDI1NicsICd1aW50MjU2JywgJ2J5dGVzJ107XG5leHBvcnQgY29uc3QgRVJDMTE1NUJhdGNoVHJhbnNmZXJUeXBlcyA9IFsnYWRkcmVzcycsICdhZGRyZXNzJywgJ3VpbnQyNTZbXScsICd1aW50MjU2W10nLCAnYnl0ZXMnXTtcbmV4cG9ydCBjb25zdCBjcmVhdGVWMUZvcndhcmRlclR5cGVzID0gWydhZGRyZXNzJywgJ2J5dGVzMzInXTtcbmV4cG9ydCBjb25zdCBjcmVhdGVWNEZvcndhcmRlclR5cGVzID0gWydhZGRyZXNzJywgJ2FkZHJlc3MnLCAnYnl0ZXMzMiddO1xuIl19
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export declare const delegateForUserDecryptionTypes: readonly ["address", "address", "uint64"];
|
|
2
|
+
export declare const callFromParentTypes: readonly ["address", "uint256", "bytes"];
|
|
3
|
+
export declare const aclMulticallTypes: readonly ["bytes[]"];
|
|
4
|
+
/**
|
|
5
|
+
* Function selector for ACL.delegateForUserDecryption(address,address,uint64)
|
|
6
|
+
* = keccak256('delegateForUserDecryption(address,address,uint64)')[0:4]
|
|
7
|
+
*/
|
|
8
|
+
export declare const delegateForUserDecryptionMethodId: string;
|
|
9
|
+
/**
|
|
10
|
+
* Function selector for ACL.multicall(bytes[])
|
|
11
|
+
* = keccak256('multicall(bytes[])')[0:4]
|
|
12
|
+
* ACL inherits OpenZeppelin MulticallUpgradeable — preserves msg.sender via delegatecall.
|
|
13
|
+
*/
|
|
14
|
+
export declare const aclMulticallMethodId: string;
|
|
15
|
+
/**
|
|
16
|
+
* Function selector for ForwarderV4.callFromParent(address,uint256,bytes)
|
|
17
|
+
* = keccak256('callFromParent(address,uint256,bytes)')[0:4]
|
|
18
|
+
*/
|
|
19
|
+
export declare const callFromParentMethodId: string;
|
|
20
|
+
/**
|
|
21
|
+
* Encodes a single ACL.delegateForUserDecryption() call.
|
|
22
|
+
*
|
|
23
|
+
* Grants `delegateAddress` the right to decrypt ERC-7984 token balances on
|
|
24
|
+
* behalf of the calling address (msg.sender) for the specified token contract.
|
|
25
|
+
*
|
|
26
|
+
* @param delegateAddress BitGo enterprise viewing key address
|
|
27
|
+
* @param tokenContractAddress ERC-7984 token contract address
|
|
28
|
+
* @param expiryTimestamp Unix seconds; recommended: Math.floor(Date.now()/1000) + 365*86400
|
|
29
|
+
* @returns ABI-encoded calldata hex string (0x-prefixed)
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildDelegationCalldata(delegateAddress: string, tokenContractAddress: string, expiryTimestamp: number): string;
|
|
32
|
+
/**
|
|
33
|
+
* Encodes N delegateForUserDecryption calls batched inside ACL.multicall().
|
|
34
|
+
*
|
|
35
|
+
* Produces a single TX that grants delegation for all specified token contracts.
|
|
36
|
+
* Requires tokenContractAddresses.length >= 1.
|
|
37
|
+
* Note: DecryptionDelegationBuilder always uses this function (even for a single token)
|
|
38
|
+
* to keep the transaction shape consistent regardless of token count.
|
|
39
|
+
*
|
|
40
|
+
* @param delegateAddress BitGo enterprise viewing key address
|
|
41
|
+
* @param tokenContractAddresses Array of ERC-7984 token contract addresses
|
|
42
|
+
* @param expiryTimestamp Unix seconds
|
|
43
|
+
* @returns ABI-encoded calldata hex string (0x-prefixed)
|
|
44
|
+
*/
|
|
45
|
+
export declare function buildMulticallDelegationCalldata(delegateAddress: string, tokenContractAddresses: string[], expiryTimestamp: number): string;
|
|
46
|
+
/**
|
|
47
|
+
* Wraps calldata in a ForwarderV4.callFromParent(target, 0, data) call.
|
|
48
|
+
*
|
|
49
|
+
* Used when a forwarder contract must be msg.sender for an external contract
|
|
50
|
+
* call — for example, when the forwarder itself needs to call
|
|
51
|
+
* ACL.delegateForUserDecryption() so that its own balance can be decrypted.
|
|
52
|
+
*
|
|
53
|
+
* Only the parentAddress (root wallet) is allowed to call callFromParent
|
|
54
|
+
* (enforced by the forwarder's onlyParent modifier).
|
|
55
|
+
*
|
|
56
|
+
* @param targetAddress Address of the contract the forwarder will call (e.g. ACL)
|
|
57
|
+
* @param calldata ABI-encoded inner calldata (e.g. from buildDelegationCalldata)
|
|
58
|
+
* @returns ABI-encoded callFromParent calldata hex string (0x-prefixed)
|
|
59
|
+
*/
|
|
60
|
+
export declare function wrapInCallFromParent(targetAddress: string, calldata: string): string;
|
|
61
|
+
//# sourceMappingURL=zamaUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zamaUtils.d.ts","sourceRoot":"","sources":["../../../src/lib/zamaUtils.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,8BAA8B,2CAA4C,CAAC;AACxF,eAAO,MAAM,mBAAmB,0CAA2C,CAAC;AAC5E,eAAO,MAAM,iBAAiB,sBAAuB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,QAE7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAEhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAElC,CAAC;AAMF;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,MAAM,GACtB,MAAM,CAOR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,eAAe,EAAE,MAAM,EACvB,sBAAsB,EAAE,MAAM,EAAE,EAChC,eAAe,EAAE,MAAM,GACtB,MAAM,CAmBR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWpF"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.callFromParentMethodId = exports.aclMulticallMethodId = exports.delegateForUserDecryptionMethodId = exports.aclMulticallTypes = exports.callFromParentTypes = exports.delegateForUserDecryptionTypes = void 0;
|
|
7
|
+
exports.buildDelegationCalldata = buildDelegationCalldata;
|
|
8
|
+
exports.buildMulticallDelegationCalldata = buildMulticallDelegationCalldata;
|
|
9
|
+
exports.wrapInCallFromParent = wrapInCallFromParent;
|
|
10
|
+
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
11
|
+
const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Constants
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// ABI parameter type arrays
|
|
16
|
+
exports.delegateForUserDecryptionTypes = ['address', 'address', 'uint64'];
|
|
17
|
+
exports.callFromParentTypes = ['address', 'uint256', 'bytes'];
|
|
18
|
+
exports.aclMulticallTypes = ['bytes[]'];
|
|
19
|
+
/**
|
|
20
|
+
* Function selector for ACL.delegateForUserDecryption(address,address,uint64)
|
|
21
|
+
* = keccak256('delegateForUserDecryption(address,address,uint64)')[0:4]
|
|
22
|
+
*/
|
|
23
|
+
exports.delegateForUserDecryptionMethodId = (0, ethereumjs_util_1.addHexPrefix)(ethereumjs_abi_1.default.methodID('delegateForUserDecryption', [...exports.delegateForUserDecryptionTypes]).toString('hex'));
|
|
24
|
+
/**
|
|
25
|
+
* Function selector for ACL.multicall(bytes[])
|
|
26
|
+
* = keccak256('multicall(bytes[])')[0:4]
|
|
27
|
+
* ACL inherits OpenZeppelin MulticallUpgradeable — preserves msg.sender via delegatecall.
|
|
28
|
+
*/
|
|
29
|
+
exports.aclMulticallMethodId = (0, ethereumjs_util_1.addHexPrefix)(ethereumjs_abi_1.default.methodID('multicall', [...exports.aclMulticallTypes]).toString('hex'));
|
|
30
|
+
/**
|
|
31
|
+
* Function selector for ForwarderV4.callFromParent(address,uint256,bytes)
|
|
32
|
+
* = keccak256('callFromParent(address,uint256,bytes)')[0:4]
|
|
33
|
+
*/
|
|
34
|
+
exports.callFromParentMethodId = (0, ethereumjs_util_1.addHexPrefix)(ethereumjs_abi_1.default.methodID('callFromParent', [...exports.callFromParentTypes]).toString('hex'));
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// Encoding functions
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
/**
|
|
39
|
+
* Encodes a single ACL.delegateForUserDecryption() call.
|
|
40
|
+
*
|
|
41
|
+
* Grants `delegateAddress` the right to decrypt ERC-7984 token balances on
|
|
42
|
+
* behalf of the calling address (msg.sender) for the specified token contract.
|
|
43
|
+
*
|
|
44
|
+
* @param delegateAddress BitGo enterprise viewing key address
|
|
45
|
+
* @param tokenContractAddress ERC-7984 token contract address
|
|
46
|
+
* @param expiryTimestamp Unix seconds; recommended: Math.floor(Date.now()/1000) + 365*86400
|
|
47
|
+
* @returns ABI-encoded calldata hex string (0x-prefixed)
|
|
48
|
+
*/
|
|
49
|
+
function buildDelegationCalldata(delegateAddress, tokenContractAddress, expiryTimestamp) {
|
|
50
|
+
const method = ethereumjs_abi_1.default.methodID('delegateForUserDecryption', [...exports.delegateForUserDecryptionTypes]);
|
|
51
|
+
const args = ethereumjs_abi_1.default.rawEncode([...exports.delegateForUserDecryptionTypes], [delegateAddress, tokenContractAddress, expiryTimestamp]);
|
|
52
|
+
return (0, ethereumjs_util_1.addHexPrefix)(Buffer.concat([method, args]).toString('hex'));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Encodes N delegateForUserDecryption calls batched inside ACL.multicall().
|
|
56
|
+
*
|
|
57
|
+
* Produces a single TX that grants delegation for all specified token contracts.
|
|
58
|
+
* Requires tokenContractAddresses.length >= 1.
|
|
59
|
+
* Note: DecryptionDelegationBuilder always uses this function (even for a single token)
|
|
60
|
+
* to keep the transaction shape consistent regardless of token count.
|
|
61
|
+
*
|
|
62
|
+
* @param delegateAddress BitGo enterprise viewing key address
|
|
63
|
+
* @param tokenContractAddresses Array of ERC-7984 token contract addresses
|
|
64
|
+
* @param expiryTimestamp Unix seconds
|
|
65
|
+
* @returns ABI-encoded calldata hex string (0x-prefixed)
|
|
66
|
+
*/
|
|
67
|
+
function buildMulticallDelegationCalldata(delegateAddress, tokenContractAddresses, expiryTimestamp) {
|
|
68
|
+
if (tokenContractAddresses.length === 0) {
|
|
69
|
+
throw new Error('buildMulticallDelegationCalldata: tokenContractAddresses must not be empty');
|
|
70
|
+
}
|
|
71
|
+
// Build each inner delegateForUserDecryption call as raw bytes
|
|
72
|
+
const innerCalls = tokenContractAddresses.map((tokenAddress) => {
|
|
73
|
+
const innerMethod = ethereumjs_abi_1.default.methodID('delegateForUserDecryption', [...exports.delegateForUserDecryptionTypes]);
|
|
74
|
+
const innerArgs = ethereumjs_abi_1.default.rawEncode([...exports.delegateForUserDecryptionTypes], [delegateAddress, tokenAddress, expiryTimestamp]);
|
|
75
|
+
return Buffer.concat([innerMethod, innerArgs]);
|
|
76
|
+
});
|
|
77
|
+
// Encode outer multicall(bytes[])
|
|
78
|
+
const outerMethod = ethereumjs_abi_1.default.methodID('multicall', [...exports.aclMulticallTypes]);
|
|
79
|
+
const outerArgs = ethereumjs_abi_1.default.rawEncode([...exports.aclMulticallTypes], [innerCalls]);
|
|
80
|
+
return (0, ethereumjs_util_1.addHexPrefix)(Buffer.concat([outerMethod, outerArgs]).toString('hex'));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Wraps calldata in a ForwarderV4.callFromParent(target, 0, data) call.
|
|
84
|
+
*
|
|
85
|
+
* Used when a forwarder contract must be msg.sender for an external contract
|
|
86
|
+
* call — for example, when the forwarder itself needs to call
|
|
87
|
+
* ACL.delegateForUserDecryption() so that its own balance can be decrypted.
|
|
88
|
+
*
|
|
89
|
+
* Only the parentAddress (root wallet) is allowed to call callFromParent
|
|
90
|
+
* (enforced by the forwarder's onlyParent modifier).
|
|
91
|
+
*
|
|
92
|
+
* @param targetAddress Address of the contract the forwarder will call (e.g. ACL)
|
|
93
|
+
* @param calldata ABI-encoded inner calldata (e.g. from buildDelegationCalldata)
|
|
94
|
+
* @returns ABI-encoded callFromParent calldata hex string (0x-prefixed)
|
|
95
|
+
*/
|
|
96
|
+
function wrapInCallFromParent(targetAddress, calldata) {
|
|
97
|
+
const method = ethereumjs_abi_1.default.methodID('callFromParent', [...exports.callFromParentTypes]);
|
|
98
|
+
const args = ethereumjs_abi_1.default.rawEncode([...exports.callFromParentTypes], [
|
|
99
|
+
targetAddress,
|
|
100
|
+
0, // value: no ETH transfer
|
|
101
|
+
(0, ethereumjs_util_1.toBuffer)(calldata), // inner calldata as bytes
|
|
102
|
+
]);
|
|
103
|
+
return (0, ethereumjs_util_1.addHexPrefix)(Buffer.concat([method, args]).toString('hex'));
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemFtYVV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi96YW1hVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBb0RBLDBEQVdDO0FBZUQsNEVBdUJDO0FBZ0JELG9EQVdDO0FBaElELHFEQUF5RDtBQUN6RCxvRUFBeUM7QUFFekMsOEVBQThFO0FBQzlFLFlBQVk7QUFDWiw4RUFBOEU7QUFFOUUsNEJBQTRCO0FBQ2YsUUFBQSw4QkFBOEIsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFDM0UsUUFBQSxtQkFBbUIsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFVLENBQUM7QUFDL0QsUUFBQSxpQkFBaUIsR0FBRyxDQUFDLFNBQVMsQ0FBVSxDQUFDO0FBRXREOzs7R0FHRztBQUNVLFFBQUEsaUNBQWlDLEdBQUcsSUFBQSw4QkFBWSxFQUMzRCx3QkFBVyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEdBQUcsc0NBQThCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDdkcsQ0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLElBQUEsOEJBQVksRUFDOUMsd0JBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyx5QkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUMxRSxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxJQUFBLDhCQUFZLEVBQ2hELHdCQUFXLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsR0FBRywyQkFBbUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUNqRixDQUFDO0FBRUYsOEVBQThFO0FBQzlFLHFCQUFxQjtBQUNyQiw4RUFBOEU7QUFFOUU7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLHVCQUF1QixDQUNyQyxlQUF1QixFQUN2QixvQkFBNEIsRUFDNUIsZUFBdUI7SUFFdkIsTUFBTSxNQUFNLEdBQUcsd0JBQVcsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxHQUFHLHNDQUE4QixDQUFDLENBQUMsQ0FBQztJQUN0RyxNQUFNLElBQUksR0FBRyx3QkFBVyxDQUFDLFNBQVMsQ0FDaEMsQ0FBQyxHQUFHLHNDQUE4QixDQUFDLEVBQ25DLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsQ0FBQyxDQUN6RCxDQUFDO0lBQ0YsT0FBTyxJQUFBLDhCQUFZLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxTQUFnQixnQ0FBZ0MsQ0FDOUMsZUFBdUIsRUFDdkIsc0JBQWdDLEVBQ2hDLGVBQXVCO0lBRXZCLElBQUksc0JBQXNCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsK0RBQStEO0lBQy9ELE1BQU0sVUFBVSxHQUFhLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1FBQ3ZFLE1BQU0sV0FBVyxHQUFHLHdCQUFXLENBQUMsUUFBUSxDQUFDLDJCQUEyQixFQUFFLENBQUMsR0FBRyxzQ0FBOEIsQ0FBQyxDQUFDLENBQUM7UUFDM0csTUFBTSxTQUFTLEdBQUcsd0JBQVcsQ0FBQyxTQUFTLENBQ3JDLENBQUMsR0FBRyxzQ0FBOEIsQ0FBQyxFQUNuQyxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDLENBQ2pELENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztJQUVILGtDQUFrQztJQUNsQyxNQUFNLFdBQVcsR0FBRyx3QkFBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLHlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUM5RSxNQUFNLFNBQVMsR0FBRyx3QkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcseUJBQWlCLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDOUUsT0FBTyxJQUFBLDhCQUFZLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsYUFBcUIsRUFBRSxRQUFnQjtJQUMxRSxNQUFNLE1BQU0sR0FBRyx3QkFBVyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsMkJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLE1BQU0sSUFBSSxHQUFHLHdCQUFXLENBQUMsU0FBUyxDQUNoQyxDQUFDLEdBQUcsMkJBQW1CLENBQUMsRUFDeEI7UUFDRSxhQUFhO1FBQ2IsQ0FBQyxFQUFFLHlCQUF5QjtRQUM1QixJQUFBLDBCQUFRLEVBQUMsUUFBUSxDQUFDLEVBQUUsMEJBQTBCO0tBQy9DLENBQ0YsQ0FBQztJQUNGLE9BQU8sSUFBQSw4QkFBWSxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkSGV4UHJlZml4LCB0b0J1ZmZlciB9IGZyb20gJ2V0aGVyZXVtanMtdXRpbCc7XG5pbXBvcnQgRXRoZXJldW1BYmkgZnJvbSAnZXRoZXJldW1qcy1hYmknO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbnN0YW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFCSSBwYXJhbWV0ZXIgdHlwZSBhcnJheXNcbmV4cG9ydCBjb25zdCBkZWxlZ2F0ZUZvclVzZXJEZWNyeXB0aW9uVHlwZXMgPSBbJ2FkZHJlc3MnLCAnYWRkcmVzcycsICd1aW50NjQnXSBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCBjYWxsRnJvbVBhcmVudFR5cGVzID0gWydhZGRyZXNzJywgJ3VpbnQyNTYnLCAnYnl0ZXMnXSBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCBhY2xNdWx0aWNhbGxUeXBlcyA9IFsnYnl0ZXNbXSddIGFzIGNvbnN0O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHNlbGVjdG9yIGZvciBBQ0wuZGVsZWdhdGVGb3JVc2VyRGVjcnlwdGlvbihhZGRyZXNzLGFkZHJlc3MsdWludDY0KVxuICogPSBrZWNjYWsyNTYoJ2RlbGVnYXRlRm9yVXNlckRlY3J5cHRpb24oYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCknKVswOjRdXG4gKi9cbmV4cG9ydCBjb25zdCBkZWxlZ2F0ZUZvclVzZXJEZWNyeXB0aW9uTWV0aG9kSWQgPSBhZGRIZXhQcmVmaXgoXG4gIEV0aGVyZXVtQWJpLm1ldGhvZElEKCdkZWxlZ2F0ZUZvclVzZXJEZWNyeXB0aW9uJywgWy4uLmRlbGVnYXRlRm9yVXNlckRlY3J5cHRpb25UeXBlc10pLnRvU3RyaW5nKCdoZXgnKVxuKTtcblxuLyoqXG4gKiBGdW5jdGlvbiBzZWxlY3RvciBmb3IgQUNMLm11bHRpY2FsbChieXRlc1tdKVxuICogPSBrZWNjYWsyNTYoJ211bHRpY2FsbChieXRlc1tdKScpWzA6NF1cbiAqIEFDTCBpbmhlcml0cyBPcGVuWmVwcGVsaW4gTXVsdGljYWxsVXBncmFkZWFibGUg4oCUIHByZXNlcnZlcyBtc2cuc2VuZGVyIHZpYSBkZWxlZ2F0ZWNhbGwuXG4gKi9cbmV4cG9ydCBjb25zdCBhY2xNdWx0aWNhbGxNZXRob2RJZCA9IGFkZEhleFByZWZpeChcbiAgRXRoZXJldW1BYmkubWV0aG9kSUQoJ211bHRpY2FsbCcsIFsuLi5hY2xNdWx0aWNhbGxUeXBlc10pLnRvU3RyaW5nKCdoZXgnKVxuKTtcblxuLyoqXG4gKiBGdW5jdGlvbiBzZWxlY3RvciBmb3IgRm9yd2FyZGVyVjQuY2FsbEZyb21QYXJlbnQoYWRkcmVzcyx1aW50MjU2LGJ5dGVzKVxuICogPSBrZWNjYWsyNTYoJ2NhbGxGcm9tUGFyZW50KGFkZHJlc3MsdWludDI1NixieXRlcyknKVswOjRdXG4gKi9cbmV4cG9ydCBjb25zdCBjYWxsRnJvbVBhcmVudE1ldGhvZElkID0gYWRkSGV4UHJlZml4KFxuICBFdGhlcmV1bUFiaS5tZXRob2RJRCgnY2FsbEZyb21QYXJlbnQnLCBbLi4uY2FsbEZyb21QYXJlbnRUeXBlc10pLnRvU3RyaW5nKCdoZXgnKVxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFbmNvZGluZyBmdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIEVuY29kZXMgYSBzaW5nbGUgQUNMLmRlbGVnYXRlRm9yVXNlckRlY3J5cHRpb24oKSBjYWxsLlxuICpcbiAqIEdyYW50cyBgZGVsZWdhdGVBZGRyZXNzYCB0aGUgcmlnaHQgdG8gZGVjcnlwdCBFUkMtNzk4NCB0b2tlbiBiYWxhbmNlcyBvblxuICogYmVoYWxmIG9mIHRoZSBjYWxsaW5nIGFkZHJlc3MgKG1zZy5zZW5kZXIpIGZvciB0aGUgc3BlY2lmaWVkIHRva2VuIGNvbnRyYWN0LlxuICpcbiAqIEBwYXJhbSBkZWxlZ2F0ZUFkZHJlc3MgICAgICAgQml0R28gZW50ZXJwcmlzZSB2aWV3aW5nIGtleSBhZGRyZXNzXG4gKiBAcGFyYW0gdG9rZW5Db250cmFjdEFkZHJlc3MgIEVSQy03OTg0IHRva2VuIGNvbnRyYWN0IGFkZHJlc3NcbiAqIEBwYXJhbSBleHBpcnlUaW1lc3RhbXAgICAgICAgVW5peCBzZWNvbmRzOyByZWNvbW1lbmRlZDogTWF0aC5mbG9vcihEYXRlLm5vdygpLzEwMDApICsgMzY1Kjg2NDAwXG4gKiBAcmV0dXJucyBBQkktZW5jb2RlZCBjYWxsZGF0YSBoZXggc3RyaW5nICgweC1wcmVmaXhlZClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRGVsZWdhdGlvbkNhbGxkYXRhKFxuICBkZWxlZ2F0ZUFkZHJlc3M6IHN0cmluZyxcbiAgdG9rZW5Db250cmFjdEFkZHJlc3M6IHN0cmluZyxcbiAgZXhwaXJ5VGltZXN0YW1wOiBudW1iZXJcbik6IHN0cmluZyB7XG4gIGNvbnN0IG1ldGhvZCA9IEV0aGVyZXVtQWJpLm1ldGhvZElEKCdkZWxlZ2F0ZUZvclVzZXJEZWNyeXB0aW9uJywgWy4uLmRlbGVnYXRlRm9yVXNlckRlY3J5cHRpb25UeXBlc10pO1xuICBjb25zdCBhcmdzID0gRXRoZXJldW1BYmkucmF3RW5jb2RlKFxuICAgIFsuLi5kZWxlZ2F0ZUZvclVzZXJEZWNyeXB0aW9uVHlwZXNdLFxuICAgIFtkZWxlZ2F0ZUFkZHJlc3MsIHRva2VuQ29udHJhY3RBZGRyZXNzLCBleHBpcnlUaW1lc3RhbXBdXG4gICk7XG4gIHJldHVybiBhZGRIZXhQcmVmaXgoQnVmZmVyLmNvbmNhdChbbWV0aG9kLCBhcmdzXSkudG9TdHJpbmcoJ2hleCcpKTtcbn1cblxuLyoqXG4gKiBFbmNvZGVzIE4gZGVsZWdhdGVGb3JVc2VyRGVjcnlwdGlvbiBjYWxscyBiYXRjaGVkIGluc2lkZSBBQ0wubXVsdGljYWxsKCkuXG4gKlxuICogUHJvZHVjZXMgYSBzaW5nbGUgVFggdGhhdCBncmFudHMgZGVsZWdhdGlvbiBmb3IgYWxsIHNwZWNpZmllZCB0b2tlbiBjb250cmFjdHMuXG4gKiBSZXF1aXJlcyB0b2tlbkNvbnRyYWN0QWRkcmVzc2VzLmxlbmd0aCA+PSAxLlxuICogTm90ZTogRGVjcnlwdGlvbkRlbGVnYXRpb25CdWlsZGVyIGFsd2F5cyB1c2VzIHRoaXMgZnVuY3Rpb24gKGV2ZW4gZm9yIGEgc2luZ2xlIHRva2VuKVxuICogdG8ga2VlcCB0aGUgdHJhbnNhY3Rpb24gc2hhcGUgY29uc2lzdGVudCByZWdhcmRsZXNzIG9mIHRva2VuIGNvdW50LlxuICpcbiAqIEBwYXJhbSBkZWxlZ2F0ZUFkZHJlc3MgICAgICAgICAgQml0R28gZW50ZXJwcmlzZSB2aWV3aW5nIGtleSBhZGRyZXNzXG4gKiBAcGFyYW0gdG9rZW5Db250cmFjdEFkZHJlc3NlcyAgIEFycmF5IG9mIEVSQy03OTg0IHRva2VuIGNvbnRyYWN0IGFkZHJlc3Nlc1xuICogQHBhcmFtIGV4cGlyeVRpbWVzdGFtcCAgICAgICAgICBVbml4IHNlY29uZHNcbiAqIEByZXR1cm5zIEFCSS1lbmNvZGVkIGNhbGxkYXRhIGhleCBzdHJpbmcgKDB4LXByZWZpeGVkKVxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRNdWx0aWNhbGxEZWxlZ2F0aW9uQ2FsbGRhdGEoXG4gIGRlbGVnYXRlQWRkcmVzczogc3RyaW5nLFxuICB0b2tlbkNvbnRyYWN0QWRkcmVzc2VzOiBzdHJpbmdbXSxcbiAgZXhwaXJ5VGltZXN0YW1wOiBudW1iZXJcbik6IHN0cmluZyB7XG4gIGlmICh0b2tlbkNvbnRyYWN0QWRkcmVzc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignYnVpbGRNdWx0aWNhbGxEZWxlZ2F0aW9uQ2FsbGRhdGE6IHRva2VuQ29udHJhY3RBZGRyZXNzZXMgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxuXG4gIC8vIEJ1aWxkIGVhY2ggaW5uZXIgZGVsZWdhdGVGb3JVc2VyRGVjcnlwdGlvbiBjYWxsIGFzIHJhdyBieXRlc1xuICBjb25zdCBpbm5lckNhbGxzOiBCdWZmZXJbXSA9IHRva2VuQ29udHJhY3RBZGRyZXNzZXMubWFwKCh0b2tlbkFkZHJlc3MpID0+IHtcbiAgICBjb25zdCBpbm5lck1ldGhvZCA9IEV0aGVyZXVtQWJpLm1ldGhvZElEKCdkZWxlZ2F0ZUZvclVzZXJEZWNyeXB0aW9uJywgWy4uLmRlbGVnYXRlRm9yVXNlckRlY3J5cHRpb25UeXBlc10pO1xuICAgIGNvbnN0IGlubmVyQXJncyA9IEV0aGVyZXVtQWJpLnJhd0VuY29kZShcbiAgICAgIFsuLi5kZWxlZ2F0ZUZvclVzZXJEZWNyeXB0aW9uVHlwZXNdLFxuICAgICAgW2RlbGVnYXRlQWRkcmVzcywgdG9rZW5BZGRyZXNzLCBleHBpcnlUaW1lc3RhbXBdXG4gICAgKTtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbaW5uZXJNZXRob2QsIGlubmVyQXJnc10pO1xuICB9KTtcblxuICAvLyBFbmNvZGUgb3V0ZXIgbXVsdGljYWxsKGJ5dGVzW10pXG4gIGNvbnN0IG91dGVyTWV0aG9kID0gRXRoZXJldW1BYmkubWV0aG9kSUQoJ211bHRpY2FsbCcsIFsuLi5hY2xNdWx0aWNhbGxUeXBlc10pO1xuICBjb25zdCBvdXRlckFyZ3MgPSBFdGhlcmV1bUFiaS5yYXdFbmNvZGUoWy4uLmFjbE11bHRpY2FsbFR5cGVzXSwgW2lubmVyQ2FsbHNdKTtcbiAgcmV0dXJuIGFkZEhleFByZWZpeChCdWZmZXIuY29uY2F0KFtvdXRlck1ldGhvZCwgb3V0ZXJBcmdzXSkudG9TdHJpbmcoJ2hleCcpKTtcbn1cblxuLyoqXG4gKiBXcmFwcyBjYWxsZGF0YSBpbiBhIEZvcndhcmRlclY0LmNhbGxGcm9tUGFyZW50KHRhcmdldCwgMCwgZGF0YSkgY2FsbC5cbiAqXG4gKiBVc2VkIHdoZW4gYSBmb3J3YXJkZXIgY29udHJhY3QgbXVzdCBiZSBtc2cuc2VuZGVyIGZvciBhbiBleHRlcm5hbCBjb250cmFjdFxuICogY2FsbCDigJQgZm9yIGV4YW1wbGUsIHdoZW4gdGhlIGZvcndhcmRlciBpdHNlbGYgbmVlZHMgdG8gY2FsbFxuICogQUNMLmRlbGVnYXRlRm9yVXNlckRlY3J5cHRpb24oKSBzbyB0aGF0IGl0cyBvd24gYmFsYW5jZSBjYW4gYmUgZGVjcnlwdGVkLlxuICpcbiAqIE9ubHkgdGhlIHBhcmVudEFkZHJlc3MgKHJvb3Qgd2FsbGV0KSBpcyBhbGxvd2VkIHRvIGNhbGwgY2FsbEZyb21QYXJlbnRcbiAqIChlbmZvcmNlZCBieSB0aGUgZm9yd2FyZGVyJ3Mgb25seVBhcmVudCBtb2RpZmllcikuXG4gKlxuICogQHBhcmFtIHRhcmdldEFkZHJlc3MgIEFkZHJlc3Mgb2YgdGhlIGNvbnRyYWN0IHRoZSBmb3J3YXJkZXIgd2lsbCBjYWxsIChlLmcuIEFDTClcbiAqIEBwYXJhbSBjYWxsZGF0YSAgICAgICBBQkktZW5jb2RlZCBpbm5lciBjYWxsZGF0YSAoZS5nLiBmcm9tIGJ1aWxkRGVsZWdhdGlvbkNhbGxkYXRhKVxuICogQHJldHVybnMgQUJJLWVuY29kZWQgY2FsbEZyb21QYXJlbnQgY2FsbGRhdGEgaGV4IHN0cmluZyAoMHgtcHJlZml4ZWQpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwSW5DYWxsRnJvbVBhcmVudCh0YXJnZXRBZGRyZXNzOiBzdHJpbmcsIGNhbGxkYXRhOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBtZXRob2QgPSBFdGhlcmV1bUFiaS5tZXRob2RJRCgnY2FsbEZyb21QYXJlbnQnLCBbLi4uY2FsbEZyb21QYXJlbnRUeXBlc10pO1xuICBjb25zdCBhcmdzID0gRXRoZXJldW1BYmkucmF3RW5jb2RlKFxuICAgIFsuLi5jYWxsRnJvbVBhcmVudFR5cGVzXSxcbiAgICBbXG4gICAgICB0YXJnZXRBZGRyZXNzLFxuICAgICAgMCwgLy8gdmFsdWU6IG5vIEVUSCB0cmFuc2ZlclxuICAgICAgdG9CdWZmZXIoY2FsbGRhdGEpLCAvLyBpbm5lciBjYWxsZGF0YSBhcyBieXRlc1xuICAgIF1cbiAgKTtcbiAgcmV0dXJuIGFkZEhleFByZWZpeChCdWZmZXIuY29uY2F0KFttZXRob2QsIGFyZ3NdKS50b1N0cmluZygnaGV4JykpO1xufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import EthereumCommon from '@ethereumjs/common';
|
|
2
|
+
export type SendCrossChainRecoveryOptions = {
|
|
3
|
+
recoveryId: string;
|
|
4
|
+
walletPassphrase?: string;
|
|
5
|
+
encryptedPrv?: string;
|
|
6
|
+
walletType: 'hot' | 'cold';
|
|
7
|
+
common?: EthereumCommon;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdGhlcmV1bUNvbW1vbiBmcm9tICdAZXRoZXJldW1qcy9jb21tb24nO1xuXG5leHBvcnQgdHlwZSBTZW5kQ3Jvc3NDaGFpblJlY292ZXJ5T3B0aW9ucyA9IHtcbiAgcmVjb3ZlcnlJZDogc3RyaW5nO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICBlbmNyeXB0ZWRQcnY/OiBzdHJpbmc7XG4gIHdhbGxldFR5cGU6ICdob3QnIHwgJ2NvbGQnO1xuICBjb21tb24/OiBFdGhlcmV1bUNvbW1vbjtcbn07XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./unit"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3VuaXQnO1xuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TestBitGoAPI } from '@bitgo-beta/sdk-test';
|
|
2
|
+
import { TransactionBuilder } from '../../src';
|
|
3
|
+
export declare function runBasicCoinInfoTests(coinName: string, bitgo: TestBitGoAPI, MainCoin: any, TestCoin: any, testData: any): void;
|
|
4
|
+
export declare function runExplainTransactionTests(coinName: string, txBuilder: TransactionBuilder, basecoin: any, testData: any): void;
|
|
5
|
+
export declare function runSignTransactionTests(coinName: string, builder: TransactionBuilder, basecoin: any, testData: any): void;
|
|
6
|
+
export declare function runTransactionVerificationTests(coinName: string, bitgo: TestBitGoAPI, basecoin: any, testData: any): void;
|
|
7
|
+
export declare function runRecoveryTransactionTests(coinName: string, txBuilder: TransactionBuilder, bitgo: TestBitGoAPI, testData: any, mockData: any): void;
|
|
8
|
+
//# sourceMappingURL=coin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coin.d.ts","sourceRoot":"","sources":["../../../test/unit/coin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EAKL,kBAAkB,EACnB,MAAM,WAAW,CAAC;AAInB,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,KAAA,EAAE,QAAQ,KAAA,EAAE,QAAQ,EAAE,GAAG,QAwB7G;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,KAAA,EAAE,QAAQ,EAAE,GAAG,QAqElH;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,KAAA,EAAE,QAAQ,EAAE,GAAG,QA0F7G;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,KAAA,EAAE,QAAQ,EAAE,GAAG,QAoR7G;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,GAAG,QA8Jd"}
|