@bitgo-beta/abstract-eth 1.0.2-beta.211 → 1.0.2-beta.2111
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 +20 -9
- package/dist/src/abstractEthLikeCoin.d.ts.map +1 -1
- package/dist/src/abstractEthLikeCoin.js +46 -15
- package/dist/src/abstractEthLikeNewCoins.d.ts +876 -0
- package/dist/src/abstractEthLikeNewCoins.d.ts.map +1 -0
- package/dist/src/abstractEthLikeNewCoins.js +2664 -0
- package/dist/src/ethLikeToken.d.ts +38 -6
- package/dist/src/ethLikeToken.d.ts.map +1 -1
- package/dist/src/ethLikeToken.js +289 -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 +143 -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 +69 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +149 -0
- package/dist/src/lib/transactionBuilder.d.ts +313 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +926 -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 +5 -0
- package/dist/src/lib/transferBuilders/index.d.ts.map +1 -0
- package/dist/src/lib/transferBuilders/index.js +21 -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/transferBuilders/transferBuilderERC7984.d.ts +35 -0
- package/dist/src/lib/transferBuilders/transferBuilderERC7984.d.ts.map +1 -0
- package/dist/src/lib/transferBuilders/transferBuilderERC7984.js +113 -0
- package/dist/src/lib/types.d.ts +40 -0
- package/dist/src/lib/types.d.ts.map +1 -0
- package/dist/src/lib/types.js +140 -0
- package/dist/src/lib/utils.d.ts +365 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +969 -0
- package/dist/src/lib/walletUtil.d.ts +46 -0
- package/dist/src/lib/walletUtil.d.ts.map +1 -0
- package/dist/src/lib/walletUtil.js +53 -0
- package/dist/src/lib/zamaUtils.d.ts +107 -0
- package/dist/src/lib/zamaUtils.d.ts.map +1 -0
- package/dist/src/lib/zamaUtils.js +220 -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 +73 -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/flushERC7984.d.ts +3 -0
- package/dist/test/unit/transactionBuilder/flushERC7984.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/flushERC7984.js +292 -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 +7 -0
- package/dist/test/unit/transactionBuilder/index.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/index.js +23 -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 +352 -0
- package/dist/tsconfig.tsbuildinfo +1 -8286
- package/package.json +34 -10
- package/.eslintignore +0 -5
- package/CHANGELOG.md +0 -178
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decryptionDelegationBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/decryptionDelegationBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,265 @@
|
|
|
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
|
+
const should_1 = __importDefault(require("should"));
|
|
7
|
+
const decryptionDelegationBuilder_1 = require("../../src/lib/decryptionDelegationBuilder");
|
|
8
|
+
const ethereumjs_abi_1 = __importDefault(require("ethereumjs-abi"));
|
|
9
|
+
const zamaUtils_1 = require("../../src/lib/zamaUtils");
|
|
10
|
+
describe('DecryptionDelegationBuilder', () => {
|
|
11
|
+
const ACL_ADDRESS = '0xf0Ffdc93b7E186bC2f8CB3dAA75D86d1930A433D';
|
|
12
|
+
const DELEGATE_ADDRESS = '0x1111111111111111111111111111111111111111';
|
|
13
|
+
const TOKEN_ADDRESS = '0x94167129172A35ab093B44b8b96213DDbc3cD387';
|
|
14
|
+
const TOKEN_ADDRESS_2 = '0x4E7B06D78965594eB5EF5414c357ca21E1554491';
|
|
15
|
+
const TOKEN_ADDRESS_3 = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48';
|
|
16
|
+
const FORWARDER_ADDRESS = '0xDeADbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF';
|
|
17
|
+
const EXPIRY = Math.floor(Date.now() / 1000) + 365 * 86400;
|
|
18
|
+
let builder;
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
builder = new decryptionDelegationBuilder_1.DecryptionDelegationBuilder();
|
|
21
|
+
});
|
|
22
|
+
// -------------------------------------------------------------------------
|
|
23
|
+
describe('Scenario 1: root wallet (multicall to ACL)', () => {
|
|
24
|
+
it('should set to=ACL and selector=multicall for a single token', () => {
|
|
25
|
+
const req = builder.build({
|
|
26
|
+
aclContractAddress: ACL_ADDRESS,
|
|
27
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
28
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
29
|
+
expiryTimestamp: EXPIRY,
|
|
30
|
+
});
|
|
31
|
+
req.to.should.equal(ACL_ADDRESS);
|
|
32
|
+
req.data.slice(0, 10).should.equal(zamaUtils_1.aclMulticallMethodId);
|
|
33
|
+
req.value.should.equal('0');
|
|
34
|
+
});
|
|
35
|
+
it('should set to=ACL and selector=multicall for multiple tokens', () => {
|
|
36
|
+
const req = builder.build({
|
|
37
|
+
aclContractAddress: ACL_ADDRESS,
|
|
38
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
39
|
+
tokenContractAddresses: [TOKEN_ADDRESS, TOKEN_ADDRESS_2],
|
|
40
|
+
expiryTimestamp: EXPIRY,
|
|
41
|
+
});
|
|
42
|
+
req.to.should.equal(ACL_ADDRESS);
|
|
43
|
+
req.data.slice(0, 10).should.equal(zamaUtils_1.aclMulticallMethodId);
|
|
44
|
+
req.value.should.equal('0');
|
|
45
|
+
});
|
|
46
|
+
it('single-token build should embed the correct decryption delegation inner call', () => {
|
|
47
|
+
const req = builder.build({
|
|
48
|
+
aclContractAddress: ACL_ADDRESS,
|
|
49
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
50
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
51
|
+
expiryTimestamp: EXPIRY,
|
|
52
|
+
});
|
|
53
|
+
const expectedInner = (0, zamaUtils_1.buildDelegationCalldata)(DELEGATE_ADDRESS, TOKEN_ADDRESS, EXPIRY).slice(2);
|
|
54
|
+
req.data.should.containEql(expectedInner);
|
|
55
|
+
});
|
|
56
|
+
it('multi-token build should embed inner calls for all tokens', () => {
|
|
57
|
+
const req = builder.build({
|
|
58
|
+
aclContractAddress: ACL_ADDRESS,
|
|
59
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
60
|
+
tokenContractAddresses: [TOKEN_ADDRESS, TOKEN_ADDRESS_2, TOKEN_ADDRESS_3],
|
|
61
|
+
expiryTimestamp: EXPIRY,
|
|
62
|
+
});
|
|
63
|
+
const tokens = [TOKEN_ADDRESS, TOKEN_ADDRESS_2, TOKEN_ADDRESS_3];
|
|
64
|
+
for (const token of tokens) {
|
|
65
|
+
const expectedInner = (0, zamaUtils_1.buildDelegationCalldata)(DELEGATE_ADDRESS, token, EXPIRY).slice(2);
|
|
66
|
+
req.data.should.containEql(expectedInner);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
it('inner calls should not contain other tokens not in the list', () => {
|
|
70
|
+
const req = builder.build({
|
|
71
|
+
aclContractAddress: ACL_ADDRESS,
|
|
72
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
73
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
74
|
+
expiryTimestamp: EXPIRY,
|
|
75
|
+
});
|
|
76
|
+
const unexpectedInner = (0, zamaUtils_1.buildDelegationCalldata)(DELEGATE_ADDRESS, TOKEN_ADDRESS_2, EXPIRY).slice(2);
|
|
77
|
+
req.data.should.not.containEql(unexpectedInner);
|
|
78
|
+
});
|
|
79
|
+
it('should produce longer calldata for more tokens', () => {
|
|
80
|
+
const single = builder.build({
|
|
81
|
+
aclContractAddress: ACL_ADDRESS,
|
|
82
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
83
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
84
|
+
expiryTimestamp: EXPIRY,
|
|
85
|
+
});
|
|
86
|
+
const triple = builder.build({
|
|
87
|
+
aclContractAddress: ACL_ADDRESS,
|
|
88
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
89
|
+
tokenContractAddresses: [TOKEN_ADDRESS, TOKEN_ADDRESS_2, TOKEN_ADDRESS_3],
|
|
90
|
+
expiryTimestamp: EXPIRY,
|
|
91
|
+
});
|
|
92
|
+
triple.data.length.should.be.greaterThan(single.data.length);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
// -------------------------------------------------------------------------
|
|
96
|
+
describe('Scenario 2: forwarder (callFromParent wrapping multicall)', () => {
|
|
97
|
+
it('should set to=forwarder and selector=callFromParent for a single token', () => {
|
|
98
|
+
const req = builder.build({
|
|
99
|
+
aclContractAddress: ACL_ADDRESS,
|
|
100
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
101
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
102
|
+
expiryTimestamp: EXPIRY,
|
|
103
|
+
forwarderAddress: FORWARDER_ADDRESS,
|
|
104
|
+
});
|
|
105
|
+
req.to.should.equal(FORWARDER_ADDRESS);
|
|
106
|
+
req.data.slice(0, 10).should.equal(zamaUtils_1.callFromParentMethodId);
|
|
107
|
+
req.value.should.equal('0');
|
|
108
|
+
});
|
|
109
|
+
it('should set to=forwarder and selector=callFromParent for multiple tokens', () => {
|
|
110
|
+
const req = builder.build({
|
|
111
|
+
aclContractAddress: ACL_ADDRESS,
|
|
112
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
113
|
+
tokenContractAddresses: [TOKEN_ADDRESS, TOKEN_ADDRESS_2],
|
|
114
|
+
expiryTimestamp: EXPIRY,
|
|
115
|
+
forwarderAddress: FORWARDER_ADDRESS,
|
|
116
|
+
});
|
|
117
|
+
req.to.should.equal(FORWARDER_ADDRESS);
|
|
118
|
+
req.data.slice(0, 10).should.equal(zamaUtils_1.callFromParentMethodId);
|
|
119
|
+
req.value.should.equal('0');
|
|
120
|
+
});
|
|
121
|
+
it('should encode ACL address as the callFromParent target', () => {
|
|
122
|
+
const req = builder.build({
|
|
123
|
+
aclContractAddress: ACL_ADDRESS,
|
|
124
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
125
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
126
|
+
expiryTimestamp: EXPIRY,
|
|
127
|
+
forwarderAddress: FORWARDER_ADDRESS,
|
|
128
|
+
});
|
|
129
|
+
const payload = Buffer.from(req.data.slice(10), 'hex');
|
|
130
|
+
const [target] = ethereumjs_abi_1.default.rawDecode(['address', 'uint256', 'bytes'], payload);
|
|
131
|
+
target.toString('hex').should.equal(ACL_ADDRESS.slice(2).toLowerCase());
|
|
132
|
+
});
|
|
133
|
+
it('should encode value=0 inside callFromParent', () => {
|
|
134
|
+
const req = builder.build({
|
|
135
|
+
aclContractAddress: ACL_ADDRESS,
|
|
136
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
137
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
138
|
+
expiryTimestamp: EXPIRY,
|
|
139
|
+
forwarderAddress: FORWARDER_ADDRESS,
|
|
140
|
+
});
|
|
141
|
+
const payload = Buffer.from(req.data.slice(10), 'hex');
|
|
142
|
+
const [, value] = ethereumjs_abi_1.default.rawDecode(['address', 'uint256', 'bytes'], payload);
|
|
143
|
+
value.toString().should.equal('0');
|
|
144
|
+
});
|
|
145
|
+
it('inner data (decoded from callFromParent) should be a valid multicall containing all tokens', () => {
|
|
146
|
+
const req = builder.build({
|
|
147
|
+
aclContractAddress: ACL_ADDRESS,
|
|
148
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
149
|
+
tokenContractAddresses: [TOKEN_ADDRESS, TOKEN_ADDRESS_2],
|
|
150
|
+
expiryTimestamp: EXPIRY,
|
|
151
|
+
forwarderAddress: FORWARDER_ADDRESS,
|
|
152
|
+
});
|
|
153
|
+
const outerPayload = Buffer.from(req.data.slice(10), 'hex');
|
|
154
|
+
const [, , innerData] = ethereumjs_abi_1.default.rawDecode(['address', 'uint256', 'bytes'], outerPayload);
|
|
155
|
+
const innerHex = '0x' + innerData.toString('hex');
|
|
156
|
+
innerHex.slice(0, 10).should.equal(zamaUtils_1.aclMulticallMethodId);
|
|
157
|
+
const inner1 = (0, zamaUtils_1.buildDelegationCalldata)(DELEGATE_ADDRESS, TOKEN_ADDRESS, EXPIRY).slice(2);
|
|
158
|
+
const inner2 = (0, zamaUtils_1.buildDelegationCalldata)(DELEGATE_ADDRESS, TOKEN_ADDRESS_2, EXPIRY).slice(2);
|
|
159
|
+
innerHex.should.containEql(inner1);
|
|
160
|
+
innerHex.should.containEql(inner2);
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
// -------------------------------------------------------------------------
|
|
164
|
+
describe('parameter isolation', () => {
|
|
165
|
+
it('changing ACL address should change the to field (root wallet path)', () => {
|
|
166
|
+
const ACL_2 = '0x2222222222222222222222222222222222222222';
|
|
167
|
+
const r1 = builder.build({
|
|
168
|
+
aclContractAddress: ACL_ADDRESS,
|
|
169
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
170
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
171
|
+
expiryTimestamp: EXPIRY,
|
|
172
|
+
});
|
|
173
|
+
const r2 = builder.build({
|
|
174
|
+
aclContractAddress: ACL_2,
|
|
175
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
176
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
177
|
+
expiryTimestamp: EXPIRY,
|
|
178
|
+
});
|
|
179
|
+
r1.to.should.equal(ACL_ADDRESS);
|
|
180
|
+
r2.to.should.equal(ACL_2);
|
|
181
|
+
});
|
|
182
|
+
it('changing forwarder address should change the to field', () => {
|
|
183
|
+
const FWD_2 = '0x3333333333333333333333333333333333333333';
|
|
184
|
+
const r1 = builder.build({
|
|
185
|
+
aclContractAddress: ACL_ADDRESS,
|
|
186
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
187
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
188
|
+
expiryTimestamp: EXPIRY,
|
|
189
|
+
forwarderAddress: FORWARDER_ADDRESS,
|
|
190
|
+
});
|
|
191
|
+
const r2 = builder.build({
|
|
192
|
+
aclContractAddress: ACL_ADDRESS,
|
|
193
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
194
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
195
|
+
expiryTimestamp: EXPIRY,
|
|
196
|
+
forwarderAddress: FWD_2,
|
|
197
|
+
});
|
|
198
|
+
r1.to.should.equal(FORWARDER_ADDRESS);
|
|
199
|
+
r2.to.should.equal(FWD_2);
|
|
200
|
+
});
|
|
201
|
+
it('changing delegate address should change the calldata', () => {
|
|
202
|
+
const DELEGATE_2 = '0x2222222222222222222222222222222222222222';
|
|
203
|
+
const r1 = builder.build({
|
|
204
|
+
aclContractAddress: ACL_ADDRESS,
|
|
205
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
206
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
207
|
+
expiryTimestamp: EXPIRY,
|
|
208
|
+
});
|
|
209
|
+
const r2 = builder.build({
|
|
210
|
+
aclContractAddress: ACL_ADDRESS,
|
|
211
|
+
delegateAddress: DELEGATE_2,
|
|
212
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
213
|
+
expiryTimestamp: EXPIRY,
|
|
214
|
+
});
|
|
215
|
+
r1.data.should.not.equal(r2.data);
|
|
216
|
+
});
|
|
217
|
+
it('changing expiry should change the calldata', () => {
|
|
218
|
+
const r1 = builder.build({
|
|
219
|
+
aclContractAddress: ACL_ADDRESS,
|
|
220
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
221
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
222
|
+
expiryTimestamp: EXPIRY,
|
|
223
|
+
});
|
|
224
|
+
const r2 = builder.build({
|
|
225
|
+
aclContractAddress: ACL_ADDRESS,
|
|
226
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
227
|
+
tokenContractAddresses: [TOKEN_ADDRESS],
|
|
228
|
+
expiryTimestamp: EXPIRY + 86400,
|
|
229
|
+
});
|
|
230
|
+
r1.data.should.not.equal(r2.data);
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
// -------------------------------------------------------------------------
|
|
234
|
+
describe('value field', () => {
|
|
235
|
+
it('should always be "0" for all scenarios', () => {
|
|
236
|
+
const scenarios = [
|
|
237
|
+
{ tokenContractAddresses: [TOKEN_ADDRESS] },
|
|
238
|
+
{ tokenContractAddresses: [TOKEN_ADDRESS, TOKEN_ADDRESS_2] },
|
|
239
|
+
{ tokenContractAddresses: [TOKEN_ADDRESS], forwarderAddress: FORWARDER_ADDRESS },
|
|
240
|
+
{ tokenContractAddresses: [TOKEN_ADDRESS, TOKEN_ADDRESS_2], forwarderAddress: FORWARDER_ADDRESS },
|
|
241
|
+
];
|
|
242
|
+
for (const extra of scenarios) {
|
|
243
|
+
const req = builder.build({
|
|
244
|
+
aclContractAddress: ACL_ADDRESS,
|
|
245
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
246
|
+
expiryTimestamp: EXPIRY,
|
|
247
|
+
...extra,
|
|
248
|
+
});
|
|
249
|
+
req.value.should.equal('0');
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
// -------------------------------------------------------------------------
|
|
254
|
+
describe('error handling', () => {
|
|
255
|
+
it('should throw when tokenContractAddresses is empty', () => {
|
|
256
|
+
should_1.default.throws(() => builder.build({
|
|
257
|
+
aclContractAddress: ACL_ADDRESS,
|
|
258
|
+
delegateAddress: DELEGATE_ADDRESS,
|
|
259
|
+
tokenContractAddresses: [],
|
|
260
|
+
expiryTimestamp: EXPIRY,
|
|
261
|
+
}), /DecryptionDelegationBuilder: tokenContractAddresses must not be empty/);
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdGlvbkRlbGVnYXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2RlY3J5cHRpb25EZWxlZ2F0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1QiwyRkFBd0Y7QUFDeEYsb0VBQXlDO0FBQ3pDLHVEQUFnSDtBQUVoSCxRQUFRLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO0lBQzNDLE1BQU0sV0FBVyxHQUFHLDRDQUE0QyxDQUFDO0lBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsNENBQTRDLENBQUM7SUFDdEUsTUFBTSxhQUFhLEdBQUcsNENBQTRDLENBQUM7SUFDbkUsTUFBTSxlQUFlLEdBQUcsNENBQTRDLENBQUM7SUFDckUsTUFBTSxlQUFlLEdBQUcsNENBQTRDLENBQUM7SUFDckUsTUFBTSxpQkFBaUIsR0FBRyw0Q0FBNEMsQ0FBQztJQUN2RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBRTNELElBQUksT0FBb0MsQ0FBQztJQUV6QyxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsT0FBTyxHQUFHLElBQUkseURBQTJCLEVBQUUsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILDRFQUE0RTtJQUM1RSxRQUFRLENBQUMsNENBQTRDLEVBQUUsR0FBRyxFQUFFO1FBQzFELEVBQUUsQ0FBQyw2REFBNkQsRUFBRSxHQUFHLEVBQUU7WUFDckUsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDeEIsa0JBQWtCLEVBQUUsV0FBVztnQkFDL0IsZUFBZSxFQUFFLGdCQUFnQjtnQkFDakMsc0JBQXNCLEVBQUUsQ0FBQyxhQUFhLENBQUM7Z0JBQ3ZDLGVBQWUsRUFBRSxNQUFNO2FBQ3hCLENB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RyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQ3hCLGtCQUFrQixFQUFFLFdBQVc7b0JBQy9CLGVBQWUsRUFBRSxnQkFBZ0I7b0JBQ2pDLGVBQWUsRUFBRSxNQUFNO29CQUN2QixHQUFHLEtBQUs7aUJBQ1QsQ0FBQyxDQUFDO2dCQUNILEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILDRFQUE0RTtJQUM1RSxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1FBQzlCLEVBQUUsQ0FBQyxtREFBbUQsRUFBRSxHQUFHLEVBQUU7WUFDM0QsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFLENBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDWixrQkFBa0IsRUFBRSxXQUFXO2dCQUMvQixlQUFlLEVBQUUsZ0JBQWdCO2dCQUNqQyxzQkFBc0IsRUFBRSxFQUFFO2dCQUMxQixlQUFlLEVBQUUsTUFBTTthQUN4QixDQUFDLEVBQ0osdUVBQXVFLENBQ3hFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBEZWNyeXB0aW9uRGVsZWdhdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zcmMvbGliL2RlY3J5cHRpb25EZWxlZ2F0aW9uQnVpbGRlcic7XG5pbXBvcnQgRXRoZXJldW1BYmkgZnJvbSAnZXRoZXJldW1qcy1hYmknO1xuaW1wb3J0IHsgYnVpbGREZWxlZ2F0aW9uQ2FsbGRhdGEsIGFjbE11bHRpY2FsbE1ldGhvZElkLCBjYWxsRnJvbVBhcmVudE1ldGhvZElkIH0gZnJvbSAnLi4vLi4vc3JjL2xpYi96YW1hVXRpbHMnO1xuXG5kZXNjcmliZSgnRGVjcnlwdGlvbkRlbGVnYXRpb25CdWlsZGVyJywgKCkgPT4ge1xuICBjb25zdCBBQ0xfQUREUkVTUyA9ICcweGYwRmZkYzkzYjdFMTg2YkMyZjhDQjNkQUE3NUQ4NmQxOTMwQTQzM0QnO1xuICBjb25zdCBERUxFR0FURV9BRERSRVNTID0gJzB4MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMSc7XG4gIGNvbnN0IFRPS0VOX0FERFJFU1MgPSAnMHg5NDE2NzEyOTE3MkEzNWFiMDkzQjQ0YjhiOTYyMTNERGJjM2NEMzg3JztcbiAgY29uc3QgVE9LRU5fQUREUkVTU18yID0gJzB4NEU3QjA2RDc4OTY1NTk0ZUI1RUY1NDE0YzM1N2NhMjFFMTU1NDQ5MSc7XG4gIGNvbnN0IFRPS0VOX0FERFJFU1NfMyA9ICcweEEwYjg2OTkxYzYyMThiMzZjMWQxOUQ0YTJlOUViMGNFMzYwNmVCNDgnO1xuICBjb25zdCBGT1JXQVJERVJfQUREUkVTUyA9ICcweERlQURiZWVmZEVBZGJlZWZkRWFkYkVFRmRlYWRiZUVGZEVhRGJlZUYnO1xuICBjb25zdCBFWFBJUlkgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKSArIDM2NSAqIDg2NDAwO1xuXG4gIGxldCBidWlsZGVyOiBEZWNyeXB0aW9uRGVsZWdhdGlvbkJ1aWxkZXI7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgYnVpbGRlciA9IG5ldyBEZWNyeXB0aW9uRGVsZWdhdGlvbkJ1aWxkZXIoKTtcbiAgfSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBkZXNjcmliZSgnU2NlbmFyaW8gMTogcm9vdCB3YWxsZXQgKG11bHRpY2FsbCB0byBBQ0wpJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgc2V0IHRvPUFDTCBhbmQgc2VsZWN0b3I9bXVsdGljYWxsIGZvciBhIHNpbmdsZSB0b2tlbicsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlcSA9IGJ1aWxkZXIuYnVpbGQoe1xuICAgICAgICBhY2xDb250cmFjdEFkZHJlc3M6IEFDTF9BRERSRVNTLFxuICAgICAgICBkZWxlZ2F0ZUFkZHJlc3M6IERFTEVHQVRFX0FERFJFU1MsXG4gICAgICAgIHRva2VuQ29udHJhY3RBZGRyZXNzZXM6IFtUT0tFTl9BRERSRVNTXSxcbiAgICAgICAgZXhwaXJ5VGltZXN0YW1wOiBFWFBJUlksXG4gICAgICB9KTtcblxuICAgICAgcmVxLnRvLnNob3VsZC5lcXVhbChBQ0xfQUREUkVTUyk7XG4gICAgICByZXEuZGF0YS5zbGljZSgwLCAxMCkuc2hvdWxkLmVxdWFsKGFjbE11bHRpY2FsbE1ldGhvZElkKTtcbiAgICAgIHJlcS52YWx1ZS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IHRvPUFDTCBhbmQgc2VsZWN0b3I9bXVsdGljYWxsIGZvciBtdWx0aXBsZSB0b2tlbnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXEgPSBidWlsZGVyLmJ1aWxkKHtcbiAgICAgICAgYWNsQ29udHJhY3RBZGRyZXNzOiBBQ0xfQUREUkVTUyxcbiAgICAgICAgZGVsZWdhdGVBZGRyZXNzOiBERUxFR0FURV9BRERSRVNTLFxuICAgICAgICB0b2tlbkNvbnRyYWN0QWRkcmVzc2VzOiBbVE9LRU5fQUREUkVTUywgVE9LRU5fQUREUkVTU18yXSxcbiAgICAgICAgZXhwaXJ5VGltZXN0YW1wOiBFWFBJUlksXG4gICAgICB9KTtcblxuICAgICAgcmVxLnRvLnNob3VsZC5lcXVhbChBQ0xfQUREUkVTUyk7XG4gICAgICByZXEuZGF0YS5zbGljZSgwLCAxMCkuc2hvdWxkLmVxdWFsKGFjbE11bHRpY2FsbE1ldGhvZElkKTtcbiAgICAgIHJlcS52YWx1ZS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaW5nbGUtdG9rZW4gYnVpbGQgc2hvdWxkIGVtYmVkIHRoZSBjb3JyZWN0IGRlY3J5cHRpb24gZGVsZWdhdGlvbiBpbm5lciBjYWxsJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVxID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBleHBlY3RlZElubmVyID0gYnVpbGREZWxlZ2F0aW9uQ2FsbGRhdGEoREVMRUdBVEVfQUREUkVTUywgVE9LRU5fQUREUkVTUywgRVhQSVJZKS5zbGljZSgyKTtcbiAgICAgIHJlcS5kYXRhLnNob3VsZC5jb250YWluRXFsKGV4cGVjdGVkSW5uZXIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ211bHRpLXRva2VuIGJ1aWxkIHNob3VsZCBlbWJlZCBpbm5lciBjYWxscyBmb3IgYWxsIHRva2VucycsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlcSA9IGJ1aWxkZXIuYnVpbGQoe1xuICAgICAgICBhY2xDb250cmFjdEFkZHJlc3M6IEFDTF9BRERSRVNTLFxuICAgICAgICBkZWxlZ2F0ZUFkZHJlc3M6IERFTEVHQVRFX0FERFJFU1MsXG4gICAgICAgIHRva2VuQ29udHJhY3RBZGRyZXNzZXM6IFtUT0tFTl9BRERSRVNTLCBUT0tFTl9BRERSRVNTXzIsIFRPS0VOX0FERFJFU1NfM10sXG4gICAgICAgIGV4cGlyeVRpbWVzdGFtcDogRVhQSVJZLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHRva2VucyA9IFtUT0tFTl9BRERSRVNTLCBUT0tFTl9BRERSRVNTXzIsIFRPS0VOX0FERFJFU1NfM107XG4gICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgICAgICBjb25zdCBleHBlY3RlZElubmVyID0gYnVpbGREZWxlZ2F0aW9uQ2FsbGRhdGEoREVMRUdBVEVfQUREUkVTUywgdG9rZW4sIEVYUElSWSkuc2xpY2UoMik7XG4gICAgICAgIHJlcS5kYXRhLnNob3VsZC5jb250YWluRXFsKGV4cGVjdGVkSW5uZXIpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ2lubmVyIGNhbGxzIHNob3VsZCBub3QgY29udGFpbiBvdGhlciB0b2tlbnMgbm90IGluIHRoZSBsaXN0JywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVxID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB1bmV4cGVjdGVkSW5uZXIgPSBidWlsZERlbGVnYXRpb25DYWxsZGF0YShERUxFR0FURV9BRERSRVNTLCBUT0tFTl9BRERSRVNTXzIsIEVYUElSWSkuc2xpY2UoMik7XG4gICAgICByZXEuZGF0YS5zaG91bGQubm90LmNvbnRhaW5FcWwodW5leHBlY3RlZElubmVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcHJvZHVjZSBsb25nZXIgY2FsbGRhdGEgZm9yIG1vcmUgdG9rZW5zJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc2luZ2xlID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdHJpcGxlID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1MsIFRPS0VOX0FERFJFU1NfMiwgVE9LRU5fQUREUkVTU18zXSxcbiAgICAgICAgZXhwaXJ5VGltZXN0YW1wOiBFWFBJUlksXG4gICAgICB9KTtcbiAgICAgIHRyaXBsZS5kYXRhLmxlbmd0aC5zaG91bGQuYmUuZ3JlYXRlclRoYW4oc2luZ2xlLmRhdGEubGVuZ3RoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBkZXNjcmliZSgnU2NlbmFyaW8gMjogZm9yd2FyZGVyIChjYWxsRnJvbVBhcmVudCB3cmFwcGluZyBtdWx0aWNhbGwpJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgc2V0IHRvPWZvcndhcmRlciBhbmQgc2VsZWN0b3I9Y2FsbEZyb21QYXJlbnQgZm9yIGEgc2luZ2xlIHRva2VuJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVxID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogRk9SV0FSREVSX0FERFJFU1MsXG4gICAgICB9KTtcblxuICAgICAgcmVxLnRvLnNob3VsZC5lcXVhbChGT1JXQVJERVJfQUREUkVTUyk7XG4gICAgICByZXEuZGF0YS5zbGljZSgwLCAxMCkuc2hvdWxkLmVxdWFsKGNhbGxGcm9tUGFyZW50TWV0aG9kSWQpO1xuICAgICAgcmVxLnZhbHVlLnNob3VsZC5lcXVhbCgnMCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgdG89Zm9yd2FyZGVyIGFuZCBzZWxlY3Rvcj1jYWxsRnJvbVBhcmVudCBmb3IgbXVsdGlwbGUgdG9rZW5zJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVxID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1MsIFRPS0VOX0FERFJFU1NfMl0sXG4gICAgICAgIGV4cGlyeVRpbWVzdGFtcDogRVhQSVJZLFxuICAgICAgICBmb3J3YXJkZXJBZGRyZXNzOiBGT1JXQVJERVJfQUREUkVTUyxcbiAgICAgIH0pO1xuXG4gICAgICByZXEudG8uc2hvdWxkLmVxdWFsKEZPUldBUkRFUl9BRERSRVNTKTtcbiAgICAgIHJlcS5kYXRhLnNsaWNlKDAsIDEwKS5zaG91bGQuZXF1YWwoY2FsbEZyb21QYXJlbnRNZXRob2RJZCk7XG4gICAgICByZXEudmFsdWUuc2hvdWxkLmVxdWFsKCcwJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGVuY29kZSBBQ0wgYWRkcmVzcyBhcyB0aGUgY2FsbEZyb21QYXJlbnQgdGFyZ2V0JywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVxID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogRk9SV0FSREVSX0FERFJFU1MsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHJlcS5kYXRhLnNsaWNlKDEwKSwgJ2hleCcpO1xuICAgICAgY29uc3QgW3RhcmdldF0gPSBFdGhlcmV1bUFiaS5yYXdEZWNvZGUoWydhZGRyZXNzJywgJ3VpbnQyNTYnLCAnYnl0ZXMnXSwgcGF5bG9hZCk7XG4gICAgICAodGFyZ2V0IGFzIEJ1ZmZlcikudG9TdHJpbmcoJ2hleCcpLnNob3VsZC5lcXVhbChBQ0xfQUREUkVTUy5zbGljZSgyKS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZW5jb2RlIHZhbHVlPTAgaW5zaWRlIGNhbGxGcm9tUGFyZW50JywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVxID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogRk9SV0FSREVSX0FERFJFU1MsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHJlcS5kYXRhLnNsaWNlKDEwKSwgJ2hleCcpO1xuICAgICAgY29uc3QgWywgdmFsdWVdID0gRXRoZXJldW1BYmkucmF3RGVjb2RlKFsnYWRkcmVzcycsICd1aW50MjU2JywgJ2J5dGVzJ10sIHBheWxvYWQpO1xuICAgICAgdmFsdWUudG9TdHJpbmcoKS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpbm5lciBkYXRhIChkZWNvZGVkIGZyb20gY2FsbEZyb21QYXJlbnQpIHNob3VsZCBiZSBhIHZhbGlkIG11bHRpY2FsbCBjb250YWluaW5nIGFsbCB0b2tlbnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXEgPSBidWlsZGVyLmJ1aWxkKHtcbiAgICAgICAgYWNsQ29udHJhY3RBZGRyZXNzOiBBQ0xfQUREUkVTUyxcbiAgICAgICAgZGVsZWdhdGVBZGRyZXNzOiBERUxFR0FURV9BRERSRVNTLFxuICAgICAgICB0b2tlbkNvbnRyYWN0QWRkcmVzc2VzOiBbVE9LRU5fQUREUkVTUywgVE9LRU5fQUREUkVTU18yXSxcbiAgICAgICAgZXhwaXJ5VGltZXN0YW1wOiBFWFBJUlksXG4gICAgICAgIGZvcndhcmRlckFkZHJlc3M6IEZPUldBUkRFUl9BRERSRVNTLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG91dGVyUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHJlcS5kYXRhLnNsaWNlKDEwKSwgJ2hleCcpO1xuICAgICAgY29uc3QgWywgLCBpbm5lckRhdGFdID0gRXRoZXJldW1BYmkucmF3RGVjb2RlKFsnYWRkcmVzcycsICd1aW50MjU2JywgJ2J5dGVzJ10sIG91dGVyUGF5bG9hZCk7XG4gICAgICBjb25zdCBpbm5lckhleCA9ICcweCcgKyAoaW5uZXJEYXRhIGFzIEJ1ZmZlcikudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgICBpbm5lckhleC5zbGljZSgwLCAxMCkuc2hvdWxkLmVxdWFsKGFjbE11bHRpY2FsbE1ldGhvZElkKTtcblxuICAgICAgY29uc3QgaW5uZXIxID0gYnVpbGREZWxlZ2F0aW9uQ2FsbGRhdGEoREVMRUdBVEVfQUREUkVTUywgVE9LRU5fQUREUkVTUywgRVhQSVJZKS5zbGljZSgyKTtcbiAgICAgIGNvbnN0IGlubmVyMiA9IGJ1aWxkRGVsZWdhdGlvbkNhbGxkYXRhKERFTEVHQVRFX0FERFJFU1MsIFRPS0VOX0FERFJFU1NfMiwgRVhQSVJZKS5zbGljZSgyKTtcbiAgICAgIGlubmVySGV4LnNob3VsZC5jb250YWluRXFsKGlubmVyMSk7XG4gICAgICBpbm5lckhleC5zaG91bGQuY29udGFpbkVxbChpbm5lcjIpO1xuICAgIH0pO1xuICB9KTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIGRlc2NyaWJlKCdwYXJhbWV0ZXIgaXNvbGF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdjaGFuZ2luZyBBQ0wgYWRkcmVzcyBzaG91bGQgY2hhbmdlIHRoZSB0byBmaWVsZCAocm9vdCB3YWxsZXQgcGF0aCknLCAoKSA9PiB7XG4gICAgICBjb25zdCBBQ0xfMiA9ICcweDIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjInO1xuICAgICAgY29uc3QgcjEgPSBidWlsZGVyLmJ1aWxkKHtcbiAgICAgICAgYWNsQ29udHJhY3RBZGRyZXNzOiBBQ0xfQUREUkVTUyxcbiAgICAgICAgZGVsZWdhdGVBZGRyZXNzOiBERUxFR0FURV9BRERSRVNTLFxuICAgICAgICB0b2tlbkNvbnRyYWN0QWRkcmVzc2VzOiBbVE9LRU5fQUREUkVTU10sXG4gICAgICAgIGV4cGlyeVRpbWVzdGFtcDogRVhQSVJZLFxuICAgICAgfSk7XG4gICAgICBjb25zdCByMiA9IGJ1aWxkZXIuYnVpbGQoe1xuICAgICAgICBhY2xDb250cmFjdEFkZHJlc3M6IEFDTF8yLFxuICAgICAgICBkZWxlZ2F0ZUFkZHJlc3M6IERFTEVHQVRFX0FERFJFU1MsXG4gICAgICAgIHRva2VuQ29udHJhY3RBZGRyZXNzZXM6IFtUT0tFTl9BRERSRVNTXSxcbiAgICAgICAgZXhwaXJ5VGltZXN0YW1wOiBFWFBJUlksXG4gICAgICB9KTtcbiAgICAgIHIxLnRvLnNob3VsZC5lcXVhbChBQ0xfQUREUkVTUyk7XG4gICAgICByMi50by5zaG91bGQuZXF1YWwoQUNMXzIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NoYW5naW5nIGZvcndhcmRlciBhZGRyZXNzIHNob3VsZCBjaGFuZ2UgdGhlIHRvIGZpZWxkJywgKCkgPT4ge1xuICAgICAgY29uc3QgRldEXzIgPSAnMHgzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzJztcbiAgICAgIGNvbnN0IHIxID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogRk9SV0FSREVSX0FERFJFU1MsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHIyID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgICAgZm9yd2FyZGVyQWRkcmVzczogRldEXzIsXG4gICAgICB9KTtcbiAgICAgIHIxLnRvLnNob3VsZC5lcXVhbChGT1JXQVJERVJfQUREUkVTUyk7XG4gICAgICByMi50by5zaG91bGQuZXF1YWwoRldEXzIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NoYW5naW5nIGRlbGVnYXRlIGFkZHJlc3Mgc2hvdWxkIGNoYW5nZSB0aGUgY2FsbGRhdGEnLCAoKSA9PiB7XG4gICAgICBjb25zdCBERUxFR0FURV8yID0gJzB4MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMic7XG4gICAgICBjb25zdCByMSA9IGJ1aWxkZXIuYnVpbGQoe1xuICAgICAgICBhY2xDb250cmFjdEFkZHJlc3M6IEFDTF9BRERSRVNTLFxuICAgICAgICBkZWxlZ2F0ZUFkZHJlc3M6IERFTEVHQVRFX0FERFJFU1MsXG4gICAgICAgIHRva2VuQ29udHJhY3RBZGRyZXNzZXM6IFtUT0tFTl9BRERSRVNTXSxcbiAgICAgICAgZXhwaXJ5VGltZXN0YW1wOiBFWFBJUlksXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHIyID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfMixcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgIH0pO1xuICAgICAgcjEuZGF0YS5zaG91bGQubm90LmVxdWFsKHIyLmRhdGEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NoYW5naW5nIGV4cGlyeSBzaG91bGQgY2hhbmdlIHRoZSBjYWxsZGF0YScsICgpID0+IHtcbiAgICAgIGNvbnN0IHIxID0gYnVpbGRlci5idWlsZCh7XG4gICAgICAgIGFjbENvbnRyYWN0QWRkcmVzczogQUNMX0FERFJFU1MsXG4gICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdLFxuICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcjIgPSBidWlsZGVyLmJ1aWxkKHtcbiAgICAgICAgYWNsQ29udHJhY3RBZGRyZXNzOiBBQ0xfQUREUkVTUyxcbiAgICAgICAgZGVsZWdhdGVBZGRyZXNzOiBERUxFR0FURV9BRERSRVNTLFxuICAgICAgICB0b2tlbkNvbnRyYWN0QWRkcmVzc2VzOiBbVE9LRU5fQUREUkVTU10sXG4gICAgICAgIGV4cGlyeVRpbWVzdGFtcDogRVhQSVJZICsgODY0MDAsXG4gICAgICB9KTtcbiAgICAgIHIxLmRhdGEuc2hvdWxkLm5vdC5lcXVhbChyMi5kYXRhKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBkZXNjcmliZSgndmFsdWUgZmllbGQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBhbHdheXMgYmUgXCIwXCIgZm9yIGFsbCBzY2VuYXJpb3MnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzY2VuYXJpb3MgPSBbXG4gICAgICAgIHsgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1NdIH0sXG4gICAgICAgIHsgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1MsIFRPS0VOX0FERFJFU1NfMl0gfSxcbiAgICAgICAgeyB0b2tlbkNvbnRyYWN0QWRkcmVzc2VzOiBbVE9LRU5fQUREUkVTU10sIGZvcndhcmRlckFkZHJlc3M6IEZPUldBUkRFUl9BRERSRVNTIH0sXG4gICAgICAgIHsgdG9rZW5Db250cmFjdEFkZHJlc3NlczogW1RPS0VOX0FERFJFU1MsIFRPS0VOX0FERFJFU1NfMl0sIGZvcndhcmRlckFkZHJlc3M6IEZPUldBUkRFUl9BRERSRVNTIH0sXG4gICAgICBdO1xuXG4gICAgICBmb3IgKGNvbnN0IGV4dHJhIG9mIHNjZW5hcmlvcykge1xuICAgICAgICBjb25zdCByZXEgPSBidWlsZGVyLmJ1aWxkKHtcbiAgICAgICAgICBhY2xDb250cmFjdEFkZHJlc3M6IEFDTF9BRERSRVNTLFxuICAgICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgICBleHBpcnlUaW1lc3RhbXA6IEVYUElSWSxcbiAgICAgICAgICAuLi5leHRyYSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJlcS52YWx1ZS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBkZXNjcmliZSgnZXJyb3IgaGFuZGxpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB0aHJvdyB3aGVuIHRva2VuQ29udHJhY3RBZGRyZXNzZXMgaXMgZW1wdHknLCAoKSA9PiB7XG4gICAgICBzaG91bGQudGhyb3dzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGJ1aWxkZXIuYnVpbGQoe1xuICAgICAgICAgICAgYWNsQ29udHJhY3RBZGRyZXNzOiBBQ0xfQUREUkVTUyxcbiAgICAgICAgICAgIGRlbGVnYXRlQWRkcmVzczogREVMRUdBVEVfQUREUkVTUyxcbiAgICAgICAgICAgIHRva2VuQ29udHJhY3RBZGRyZXNzZXM6IFtdLFxuICAgICAgICAgICAgZXhwaXJ5VGltZXN0YW1wOiBFWFBJUlksXG4gICAgICAgICAgfSksXG4gICAgICAgIC9EZWNyeXB0aW9uRGVsZWdhdGlvbkJ1aWxkZXI6IHRva2VuQ29udHJhY3RBZGRyZXNzZXMgbXVzdCBub3QgYmUgZW1wdHkvXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './transactionBuilder';
|
|
2
|
+
export * from './token';
|
|
3
|
+
export * from './transaction';
|
|
4
|
+
export * from './coin';
|
|
5
|
+
export * from './messages';
|
|
6
|
+
export * from './zamaUtils';
|
|
7
|
+
export * from './decryptionDelegationBuilder';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../test/unit/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
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("./transactionBuilder"), exports);
|
|
18
|
+
__exportStar(require("./token"), exports);
|
|
19
|
+
__exportStar(require("./transaction"), exports);
|
|
20
|
+
__exportStar(require("./coin"), exports);
|
|
21
|
+
__exportStar(require("./messages"), exports);
|
|
22
|
+
__exportStar(require("./zamaUtils"), exports);
|
|
23
|
+
__exportStar(require("./decryptionDelegationBuilder"), exports);
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQywwQ0FBd0I7QUFDeEIsZ0RBQThCO0FBQzlCLHlDQUF1QjtBQUN2Qiw2Q0FBMkI7QUFDM0IsOENBQTRCO0FBQzVCLGdFQUE4QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcyc7XG5leHBvcnQgKiBmcm9tICcuL3phbWFVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2RlY3J5cHRpb25EZWxlZ2F0aW9uQnVpbGRlcic7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractEthMessageBuilderTests.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/abstractEthMessageBuilderTests.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAoHlF"}
|
|
@@ -0,0 +1,110 @@
|
|
|
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.testEthMessageBuilding = testEthMessageBuilding;
|
|
7
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
9
|
+
const src_1 = require("../../../src");
|
|
10
|
+
const should_1 = __importDefault(require("should"));
|
|
11
|
+
const coinConfig = statics_1.coins.get('eth');
|
|
12
|
+
function testEthMessageBuilding(testConfig) {
|
|
13
|
+
const { messageType, messageBuilderClass, messageClass, test } = testConfig;
|
|
14
|
+
describe(`${messageType} - Build Method`, () => {
|
|
15
|
+
const factory = new src_1.MessageBuilderFactory(coinConfig);
|
|
16
|
+
const { payload, metadata, signature, signer } = test.input;
|
|
17
|
+
it('should initialize with the correct message type', () => {
|
|
18
|
+
const builder = factory.getMessageBuilder(messageType);
|
|
19
|
+
builder.should.be.instanceof(messageBuilderClass);
|
|
20
|
+
});
|
|
21
|
+
it('should build a valid message', async () => {
|
|
22
|
+
const builder = factory.getMessageBuilder(messageType);
|
|
23
|
+
builder.setPayload(payload).setMetadata(metadata || {});
|
|
24
|
+
const builtMessage = await builder.build();
|
|
25
|
+
builtMessage.getType().should.equal(messageType);
|
|
26
|
+
builtMessage.getPayload().should.equal(payload);
|
|
27
|
+
if (metadata) {
|
|
28
|
+
should_1.default.deepEqual(builtMessage.getMetadata(), metadata);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
should_1.default.deepEqual(builtMessage.getMetadata(), {});
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
it('should throw an error when building without setting the payload', async () => {
|
|
35
|
+
const builder = factory.getMessageBuilder(messageType);
|
|
36
|
+
await builder.build().should.be.rejectedWith('Message payload must be set before building the message');
|
|
37
|
+
});
|
|
38
|
+
it('should include signers when building a message', async () => {
|
|
39
|
+
const builder = factory.getMessageBuilder(messageType);
|
|
40
|
+
builder.setPayload(payload);
|
|
41
|
+
builder.addSigner(signer);
|
|
42
|
+
const message = await builder.build();
|
|
43
|
+
message.getSigners().should.containEql(signer);
|
|
44
|
+
});
|
|
45
|
+
it('should include signatures when building a message', async () => {
|
|
46
|
+
const builder = factory.getMessageBuilder(messageType);
|
|
47
|
+
builder.setPayload(payload);
|
|
48
|
+
builder.addSignature(signature);
|
|
49
|
+
const message = await builder.build();
|
|
50
|
+
message.getSignatures().should.containEql(signature);
|
|
51
|
+
});
|
|
52
|
+
it('should override metadata.encoding with utf8', async () => {
|
|
53
|
+
const builder = factory.getMessageBuilder(messageType);
|
|
54
|
+
builder.setPayload(payload);
|
|
55
|
+
builder.setMetadata({ encoding: 'hex', customData: 'test data' });
|
|
56
|
+
const message = await builder.build();
|
|
57
|
+
const metadata = message.getMetadata();
|
|
58
|
+
(0, should_1.default)(metadata).not.be.undefined();
|
|
59
|
+
(0, should_1.default)(metadata).have.property('encoding', 'utf8');
|
|
60
|
+
(0, should_1.default)(metadata).have.property('customData', 'test data');
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
describe(`${messageType} - From Broadcast Format`, () => {
|
|
64
|
+
const factory = new src_1.MessageBuilderFactory(coinConfig);
|
|
65
|
+
const { payload, signature, signer, metadata } = test.input;
|
|
66
|
+
const broadcastMessage = {
|
|
67
|
+
payload,
|
|
68
|
+
type: messageType,
|
|
69
|
+
serializedSignatures: (0, sdk_core_1.serializeSignatures)([signature]),
|
|
70
|
+
signers: [signer],
|
|
71
|
+
metadata: metadata,
|
|
72
|
+
};
|
|
73
|
+
it('should reconstruct a message from broadcast format', async () => {
|
|
74
|
+
const builder = factory.getMessageBuilder(messageType);
|
|
75
|
+
const message = await builder.fromBroadcastFormat(broadcastMessage);
|
|
76
|
+
message.getType().should.equal(messageType);
|
|
77
|
+
message.getPayload().should.equal(payload);
|
|
78
|
+
message.getSignatures().should.containEql(signature);
|
|
79
|
+
message.getSigners().should.containEql(signer);
|
|
80
|
+
message.should.be.instanceof(messageClass);
|
|
81
|
+
if (metadata) {
|
|
82
|
+
should_1.default.deepEqual(message.getMetadata(), metadata);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
should_1.default.deepEqual(message.getMetadata(), {});
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
it('should throw an error for incorrect message type', async () => {
|
|
89
|
+
const builder = factory.getMessageBuilder(messageType);
|
|
90
|
+
const broadcastMessageWrongType = { ...broadcastMessage, type: sdk_core_1.MessageStandardType.UNKNOWN };
|
|
91
|
+
await builder
|
|
92
|
+
.fromBroadcastFormat(broadcastMessageWrongType)
|
|
93
|
+
.should.be.rejectedWith(`Invalid message type, expected ${messageType}`);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
describe(`${messageType} - From Broadcast String`, () => {
|
|
97
|
+
const { payload, signature, signer } = test.input;
|
|
98
|
+
const broadcastHex = test.broadcastHex;
|
|
99
|
+
it('should parse broadcastable string and return correct builder type', async () => {
|
|
100
|
+
const factory = new src_1.MessageBuilderFactory(coinConfig);
|
|
101
|
+
const builder = factory.fromBroadcastString(broadcastHex);
|
|
102
|
+
const message = await builder.build();
|
|
103
|
+
message.getType().should.equal(messageType);
|
|
104
|
+
message.getPayload().should.equal(payload);
|
|
105
|
+
message.getSignatures().should.containEql(signature);
|
|
106
|
+
message.getSigners().should.containEql(signer);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RFdGhNZXNzYWdlQnVpbGRlclRlc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL2Fic3RyYWN0RXRoTWVzc2FnZUJ1aWxkZXJUZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVFBLHdEQW9IQztBQTVIRCxtREFBZ0Y7QUFDaEYsaURBQTRDO0FBQzVDLHNDQUFxRDtBQUNyRCxvREFBNEI7QUFHNUIsTUFBTSxVQUFVLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUVwQyxTQUFnQixzQkFBc0IsQ0FBQyxVQUFxQztJQUMxRSxNQUFNLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFNUUsUUFBUSxDQUFDLEdBQUcsV0FBVyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUU1RCxFQUFFLENBQUMsaURBQWlELEVBQUUsR0FBRyxFQUFFO1lBQ3pELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM1QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMs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QUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUV0QyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM1QyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRCxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUsIHNlcmlhbGl6ZVNpZ25hdHVyZXMgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc3JjJztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGluZ1Rlc3RDb25maWcgfSBmcm9tICcuL2Fic3RyYWN0RXRoTWVzc2FnZVRlc3RUeXBlcyc7XG5cbmNvbnN0IGNvaW5Db25maWcgPSBjb2lucy5nZXQoJ2V0aCcpO1xuXG5leHBvcnQgZnVuY3Rpb24gdGVzdEV0aE1lc3NhZ2VCdWlsZGluZyh0ZXN0Q29uZmlnOiBNZXNzYWdlQnVpbGRpbmdUZXN0Q29uZmlnKTogdm9pZCB7XG4gIGNvbnN0IHsgbWVzc2FnZVR5cGUsIG1lc3NhZ2VCdWlsZGVyQ2xhc3MsIG1lc3NhZ2VDbGFzcywgdGVzdCB9ID0gdGVzdENvbmZpZztcblxuICBkZXNjcmliZShgJHttZXNzYWdlVHlwZX0gLSBCdWlsZCBNZXRob2RgLCAoKSA9PiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgY29uc3QgeyBwYXlsb2FkLCBtZXRhZGF0YSwgc2lnbmF0dXJlLCBzaWduZXIgfSA9IHRlc3QuaW5wdXQ7XG5cbiAgICBpdCgnc2hvdWxkIGluaXRpYWxpemUgd2l0aCB0aGUgY29ycmVjdCBtZXNzYWdlIHR5cGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihtZXNzYWdlVHlwZSk7XG4gICAgICBidWlsZGVyLnNob3VsZC5iZS5pbnN0YW5jZW9mKG1lc3NhZ2VCdWlsZGVyQ2xhc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhIHZhbGlkIG1lc3NhZ2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihtZXNzYWdlVHlwZSk7XG4gICAgICBidWlsZGVyLnNldFBheWxvYWQocGF5bG9hZCkuc2V0TWV0YWRhdGEobWV0YWRhdGEgfHwge30pO1xuXG4gICAgICBjb25zdCBidWlsdE1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gICAgICBidWlsdE1lc3NhZ2UuZ2V0VHlwZSgpLnNob3VsZC5lcXVhbChtZXNzYWdlVHlwZSk7XG4gICAgICBidWlsdE1lc3NhZ2UuZ2V0UGF5bG9hZCgpLnNob3VsZC5lcXVhbChwYXlsb2FkKTtcblxuICAgICAgaWYgKG1ldGFkYXRhKSB7XG4gICAgICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbHRNZXNzYWdlLmdldE1ldGFkYXRhKCksIG1ldGFkYXRhKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNob3VsZC5kZWVwRXF1YWwoYnVpbHRNZXNzYWdlLmdldE1ldGFkYXRhKCksIHt9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3Igd2hlbiBidWlsZGluZyB3aXRob3V0IHNldHRpbmcgdGhlIHBheWxvYWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihtZXNzYWdlVHlwZSk7XG4gICAgICBhd2FpdCBidWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnTWVzc2FnZSBwYXlsb2FkIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgbWVzc2FnZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBpbmNsdWRlIHNpZ25lcnMgd2hlbiBidWlsZGluZyBhIG1lc3NhZ2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihtZXNzYWdlVHlwZSk7XG4gICAgICBidWlsZGVyLnNldFBheWxvYWQocGF5bG9hZCk7XG4gICAgICBidWlsZGVyLmFkZFNpZ25lcihzaWduZXIpO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICAgICAgbWVzc2FnZS5nZXRTaWduZXJzKCkuc2hvdWxkLmNvbnRhaW5FcWwoc2lnbmVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaW5jbHVkZSBzaWduYXR1cmVzIHdoZW4gYnVpbGRpbmcgYSBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIobWVzc2FnZVR5cGUpO1xuICAgICAgYnVpbGRlci5zZXRQYXlsb2FkKHBheWxvYWQpO1xuICAgICAgYnVpbGRlci5hZGRTaWduYXR1cmUoc2lnbmF0dXJlKTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLnNob3VsZC5jb250YWluRXFsKHNpZ25hdHVyZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG92ZXJyaWRlIG1ldGFkYXRhLmVuY29kaW5nIHdpdGggdXRmOCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKG1lc3NhZ2VUeXBlKTtcbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChwYXlsb2FkKTtcbiAgICAgIGJ1aWxkZXIuc2V0TWV0YWRhdGEoeyBlbmNvZGluZzogJ2hleCcsIGN1c3RvbURhdGE6ICd0ZXN0IGRhdGEnIH0pO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBtZXNzYWdlLmdldE1ldGFkYXRhKCk7XG4gICAgICBzaG91bGQobWV0YWRhdGEpLm5vdC5iZS51bmRlZmluZWQoKTtcbiAgICAgIHNob3VsZChtZXRhZGF0YSkuaGF2ZS5wcm9wZXJ0eSgnZW5jb2RpbmcnLCAndXRmOCcpO1xuICAgICAgc2hvdWxkKG1ldGFkYXRhKS5oYXZlLnByb3BlcnR5KCdjdXN0b21EYXRhJywgJ3Rlc3QgZGF0YScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShgJHttZXNzYWdlVHlwZX0gLSBGcm9tIEJyb2FkY2FzdCBGb3JtYXRgLCAoKSA9PiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgY29uc3QgeyBwYXlsb2FkLCBzaWduYXR1cmUsIHNpZ25lciwgbWV0YWRhdGEgfSA9IHRlc3QuaW5wdXQ7XG5cbiAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlID0ge1xuICAgICAgcGF5bG9hZCxcbiAgICAgIHR5cGU6IG1lc3NhZ2VUeXBlLFxuICAgICAgc2VyaWFsaXplZFNpZ25hdHVyZXM6IHNlcmlhbGl6ZVNpZ25hdHVyZXMoW3NpZ25hdHVyZV0pLFxuICAgICAgc2lnbmVyczogW3NpZ25lcl0sXG4gICAgICBtZXRhZGF0YTogbWV0YWRhdGEsXG4gICAgfTtcblxuICAgIGl0KCdzaG91bGQgcmVjb25zdHJ1Y3QgYSBtZXNzYWdlIGZyb20gYnJvYWRjYXN0IGZvcm1hdCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKG1lc3NhZ2VUeXBlKTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmZyb21Ccm9hZGNhc3RGb3JtYXQoYnJvYWRjYXN0TWVzc2FnZSk7XG5cbiAgICAgIG1lc3NhZ2UuZ2V0VHlwZSgpLnNob3VsZC5lcXVhbChtZXNzYWdlVHlwZSk7XG4gICAgICBtZXNzYWdlLmdldFBheWxvYWQoKS5zaG91bGQuZXF1YWwocGF5bG9hZCk7XG4gICAgICBtZXNzYWdlLmdldFNpZ25hdHVyZXMoKS5zaG91bGQuY29udGFpbkVxbChzaWduYXR1cmUpO1xuICAgICAgbWVzc2FnZS5nZXRTaWduZXJzKCkuc2hvdWxkLmNvbnRhaW5FcWwoc2lnbmVyKTtcbiAgICAgIG1lc3NhZ2Uuc2hvdWxkLmJlLmluc3RhbmNlb2YobWVzc2FnZUNsYXNzKTtcblxuICAgICAgaWYgKG1ldGFkYXRhKSB7XG4gICAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5nZXRNZXRhZGF0YSgpLCBtZXRhZGF0YSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSwge30pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBmb3IgaW5jb3JyZWN0IG1lc3NhZ2UgdHlwZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKG1lc3NhZ2VUeXBlKTtcbiAgICAgIGNvbnN0IGJyb2FkY2FzdE1lc3NhZ2VXcm9uZ1R5cGUgPSB7IC4uLmJyb2FkY2FzdE1lc3NhZ2UsIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTiB9O1xuICAgICAgYXdhaXQgYnVpbGRlclxuICAgICAgICAuZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlV3JvbmdUeXBlKVxuICAgICAgICAuc2hvdWxkLmJlLnJlamVjdGVkV2l0aChgSW52YWxpZCBtZXNzYWdlIHR5cGUsIGV4cGVjdGVkICR7bWVzc2FnZVR5cGV9YCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKGAke21lc3NhZ2VUeXBlfSAtIEZyb20gQnJvYWRjYXN0IFN0cmluZ2AsICgpID0+IHtcbiAgICBjb25zdCB7IHBheWxvYWQsIHNpZ25hdHVyZSwgc2lnbmVyIH0gPSB0ZXN0LmlucHV0O1xuICAgIGNvbnN0IGJyb2FkY2FzdEhleCA9IHRlc3QuYnJvYWRjYXN0SGV4O1xuXG4gICAgaXQoJ3Nob3VsZCBwYXJzZSBicm9hZGNhc3RhYmxlIHN0cmluZyBhbmQgcmV0dXJuIGNvcnJlY3QgYnVpbGRlciB0eXBlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tQnJvYWRjYXN0U3RyaW5nKGJyb2FkY2FzdEhleCk7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwobWVzc2FnZVR5cGUpO1xuICAgICAgbWVzc2FnZS5nZXRQYXlsb2FkKCkuc2hvdWxkLmVxdWFsKHBheWxvYWQpO1xuICAgICAgbWVzc2FnZS5nZXRTaWduYXR1cmVzKCkuc2hvdWxkLmNvbnRhaW5FcWwoc2lnbmF0dXJlKTtcbiAgICAgIG1lc3NhZ2UuZ2V0U2lnbmVycygpLnNob3VsZC5jb250YWluRXFsKHNpZ25lcik7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BaseMessage, BaseMessageBuilder, MessageMetadata, MessageOptions, MessageStandardType, Signature } from '@bitgo-beta/sdk-core';
|
|
2
|
+
type MessageCtor = new (options: MessageOptions) => BaseMessage;
|
|
3
|
+
type MessageBuildParams = {
|
|
4
|
+
payload: string;
|
|
5
|
+
metadata?: MessageMetadata;
|
|
6
|
+
};
|
|
7
|
+
type SignatureParams = {
|
|
8
|
+
signature: Signature;
|
|
9
|
+
signer: string;
|
|
10
|
+
};
|
|
11
|
+
type MessageVerificationParams = {
|
|
12
|
+
expectedSignableHex: string;
|
|
13
|
+
};
|
|
14
|
+
type MessageVerificationParamsBase64 = {
|
|
15
|
+
expectedSignableBase64: string;
|
|
16
|
+
};
|
|
17
|
+
type MessageTestCase = {
|
|
18
|
+
input: MessageBuildParams;
|
|
19
|
+
expected: MessageVerificationParams;
|
|
20
|
+
};
|
|
21
|
+
type SignedMessageTestCase = {
|
|
22
|
+
input: MessageBuildParams & SignatureParams;
|
|
23
|
+
expected: MessageVerificationParams & MessageVerificationParamsBase64;
|
|
24
|
+
};
|
|
25
|
+
type MessageBuilderTestCase = {
|
|
26
|
+
input: MessageBuildParams & SignatureParams;
|
|
27
|
+
expected: MessageVerificationParams;
|
|
28
|
+
broadcastHex: string;
|
|
29
|
+
};
|
|
30
|
+
export type MessageTestConfig = {
|
|
31
|
+
messageType: MessageStandardType;
|
|
32
|
+
messageClass: MessageCtor;
|
|
33
|
+
tests: Record<string, MessageTestCase>;
|
|
34
|
+
signedTest: SignedMessageTestCase;
|
|
35
|
+
};
|
|
36
|
+
export type MessageBuildingTestConfig = {
|
|
37
|
+
messageType: MessageStandardType;
|
|
38
|
+
messageBuilderClass: typeof BaseMessageBuilder;
|
|
39
|
+
messageClass: typeof BaseMessage;
|
|
40
|
+
test: MessageBuilderTestCase;
|
|
41
|
+
};
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=abstractEthMessageTestTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractEthMessageTestTypes.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/abstractEthMessageTestTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAE9B,KAAK,WAAW,GAAG,KAAK,OAAO,EAAE,cAAc,KAAK,WAAW,CAAC;AAEhE,KAAK,kBAAkB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAC1E,KAAK,eAAe,GAAG;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,KAAK,yBAAyB,GAAG;IAAE,mBAAmB,EAAE,MAAM,CAAA;CAAE,CAAC;AACjE,KAAK,+BAA+B,GAAG;IAAE,sBAAsB,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,KAAK,eAAe,GAAG;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAC1F,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,kBAAkB,GAAG,eAAe,CAAC;IAC5C,QAAQ,EAAE,yBAAyB,GAAG,+BAA+B,CAAC;CACvE,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,kBAAkB,GAAG,eAAe,CAAC;IAC5C,QAAQ,EAAE,yBAAyB,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,mBAAmB,CAAC;IACjC,YAAY,EAAE,WAAW,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvC,UAAU,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,OAAO,kBAAkB,CAAC;IAC/C,YAAY,EAAE,OAAO,WAAW,CAAC;IACjC,IAAI,EAAE,sBAAsB,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RFdGhNZXNzYWdlVGVzdFR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL2Fic3RyYWN0RXRoTWVzc2FnZVRlc3RUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZU1lc3NhZ2UsXG4gIEJhc2VNZXNzYWdlQnVpbGRlcixcbiAgTWVzc2FnZU1ldGFkYXRhLFxuICBNZXNzYWdlT3B0aW9ucyxcbiAgTWVzc2FnZVN0YW5kYXJkVHlwZSxcbiAgU2lnbmF0dXJlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbnR5cGUgTWVzc2FnZUN0b3IgPSBuZXcgKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKSA9PiBCYXNlTWVzc2FnZTtcblxudHlwZSBNZXNzYWdlQnVpbGRQYXJhbXMgPSB7IHBheWxvYWQ6IHN0cmluZzsgbWV0YWRhdGE/OiBNZXNzYWdlTWV0YWRhdGEgfTtcbnR5cGUgU2lnbmF0dXJlUGFyYW1zID0geyBzaWduYXR1cmU6IFNpZ25hdHVyZTsgc2lnbmVyOiBzdHJpbmcgfTtcblxudHlwZSBNZXNzYWdlVmVyaWZpY2F0aW9uUGFyYW1zID0geyBleHBlY3RlZFNpZ25hYmxlSGV4OiBzdHJpbmcgfTtcbnR5cGUgTWVzc2FnZVZlcmlmaWNhdGlvblBhcmFtc0Jhc2U2NCA9IHsgZXhwZWN0ZWRTaWduYWJsZUJhc2U2NDogc3RyaW5nIH07XG5cbnR5cGUgTWVzc2FnZVRlc3RDYXNlID0geyBpbnB1dDogTWVzc2FnZUJ1aWxkUGFyYW1zOyBleHBlY3RlZDogTWVzc2FnZVZlcmlmaWNhdGlvblBhcmFtcyB9O1xudHlwZSBTaWduZWRNZXNzYWdlVGVzdENhc2UgPSB7XG4gIGlucHV0OiBNZXNzYWdlQnVpbGRQYXJhbXMgJiBTaWduYXR1cmVQYXJhbXM7XG4gIGV4cGVjdGVkOiBNZXNzYWdlVmVyaWZpY2F0aW9uUGFyYW1zICYgTWVzc2FnZVZlcmlmaWNhdGlvblBhcmFtc0Jhc2U2NDtcbn07XG5cbnR5cGUgTWVzc2FnZUJ1aWxkZXJUZXN0Q2FzZSA9IHtcbiAgaW5wdXQ6IE1lc3NhZ2VCdWlsZFBhcmFtcyAmIFNpZ25hdHVyZVBhcmFtcztcbiAgZXhwZWN0ZWQ6IE1lc3NhZ2VWZXJpZmljYXRpb25QYXJhbXM7XG4gIGJyb2FkY2FzdEhleDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTWVzc2FnZVRlc3RDb25maWcgPSB7XG4gIG1lc3NhZ2VUeXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuICBtZXNzYWdlQ2xhc3M6IE1lc3NhZ2VDdG9yO1xuICB0ZXN0czogUmVjb3JkPHN0cmluZywgTWVzc2FnZVRlc3RDYXNlPjtcbiAgc2lnbmVkVGVzdDogU2lnbmVkTWVzc2FnZVRlc3RDYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgTWVzc2FnZUJ1aWxkaW5nVGVzdENvbmZpZyA9IHtcbiAgbWVzc2FnZVR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIG1lc3NhZ2VCdWlsZGVyQ2xhc3M6IHR5cGVvZiBCYXNlTWVzc2FnZUJ1aWxkZXI7XG4gIG1lc3NhZ2VDbGFzczogdHlwZW9mIEJhc2VNZXNzYWdlO1xuICB0ZXN0OiBNZXNzYWdlQnVpbGRlclRlc3RDYXNlO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractEthMessagesTests.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/abstractEthMessagesTests.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAuIzE"}
|