Skip to content

Commit b8b4c0e

Browse files
committed
extend cell tree depth to 16
1 parent 5634389 commit b8b4c0e

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

client/tests/sign_transaction.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,3 +305,33 @@ fn ledger_sign_large_transaction() -> anyhow::Result<()> {
305305

306306
Ok(())
307307
}
308+
309+
#[test]
310+
#[serial]
311+
fn ledger_many_msig_custodians_transaction() -> anyhow::Result<()> {
312+
// Multisig with 15 custodians
313+
let boc = base64::engine::general_purpose::STANDARD
314+
.decode("te6ccgECHwEAApQAAmuzuttTXRuI0OTWDTFlZ7FEhWjvr98hhG7NC6AuOtq/lwAAAMrQsOrKM+uyhxXYd8eAAAAHwGACAQAIAAAAAQIDzkAQAwIBIAkEAgEgBgUAQUYLBilvnAvo1CkFGNMQGOqQO13kBQQZKVO/Yx8ei1a5KAIBIAgHAEEULBilvnAvo1CkFGNMQGOqQO13kBQQZKVO/Yx8ei1a5KAAQRAsGKW+cC+jUKQUY0xAY6pA7XeQFBBkpU79jHx6LVrkoAIBIA0KAgEgDAsAQQwsGKW+cC+jUKQUY0zAY6pA7XeQFBBkpU79jHy6LVrAoABBCCwYpb5wL6NQpBRfTEBjqkDtd5AUEGSlTv2MfLotWsCgAgEgDw4AQQQsGKW+cC+jUKQUX0yAY6pA7XeQFBBkpU79jHy6LVrAoABBJuwYpb5wL6NQpBRfTMBjqkDtd5AUEGSlTv2MfLotWsCgAgEgGBECASAVEgIBIBQTAEEi7BilvnAvo1CkFF9MwGOoQO13kBQQZKVO/Yx8ui1awKAAQR7sGKW+cC+jUKQUX0zAY6oA7XeQFBBkpU79jHy6LVrAoAIBIBcWAEEa7BilvnAvo1CkFF9MwGOoQO13kBQQZKVO/Yx8ui1awuAAQRbsGKW+cC+jUKQUX0zAY6pA7XeQFBBkpU79jHy6LVrC4AIBIBwZAgEgGxoAQRLsGKW+cC+jUKQUX0zAY6pA7XeQFBBkpU79jHy6LVrC4ABBDuwYpb5wL6NQpBRfTMBjqkDtd5AUEGSlTv2MfLotWsLgAgEgHh0AQQrsGKW+cC+jUKQUX0zAY6pA7XeQFBBkpU79jHy6LVrC4ABBBuwYpb5wL6NQpBRfTMBjqkDtd5AUEGSlTv2MfLotWsLg")?;
315+
316+
let cell = ton_types::deserialize_tree_of_cells(&mut boc.as_slice())?;
317+
318+
let message_hash = cell.repr_hash();
319+
320+
let (ledger, _) = get_ledger();
321+
322+
let account = 0;
323+
let wallet_type = WalletType::SafeMultisig;
324+
325+
// Get public key
326+
let public_key = ledger.get_pubkey(account, false)?;
327+
328+
let meta = SignTransactionMeta::default();
329+
330+
let signature =
331+
ledger.sign_transaction(account, wallet_type, EVER_DECIMALS, EVER_TICKER, meta, &boc)?;
332+
assert!(public_key
333+
.verify(message_hash.as_slice(), &signature)
334+
.is_ok());
335+
336+
Ok(())
337+
}

src/globals.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
#define WALLET_ID 0x4BA92D8A
3636

37-
#define MAX_CONTRACT_CELLS_COUNT 7
37+
#define MAX_CONTRACT_CELLS_COUNT 16
3838
#define HASHES_BUFFER_SIZE (MAX_CONTRACT_CELLS_COUNT * HASH_SIZE)
3939
#define MAX_PUBLIC_KEY_CELL_DATA_SIZE 36 // label(3) + public key(32) + tag(1)
4040

0 commit comments

Comments
 (0)