@keep-network/tbtc-v2 1.0.3-dev.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/artifacts/.chainId +1 -1
  2. package/artifacts/Bank.json +40 -50
  3. package/artifacts/Bridge.json +32 -449
  4. package/artifacts/BridgeGovernance.json +24 -24
  5. package/artifacts/BridgeGovernanceParameters.json +10 -10
  6. package/artifacts/Deposit.json +13 -13
  7. package/artifacts/DepositSweep.json +13 -13
  8. package/artifacts/DonationVault.json +17 -17
  9. package/artifacts/Fraud.json +14 -14
  10. package/artifacts/LightRelay.json +38 -38
  11. package/artifacts/MaintainerProxy.json +47 -47
  12. package/artifacts/MovingFunds.json +14 -14
  13. package/artifacts/Redemption.json +13 -13
  14. package/artifacts/TBTC.json +36 -37
  15. package/artifacts/TBTCVault.json +47 -47
  16. package/artifacts/VendingMachine.json +34 -35
  17. package/artifacts/VendingMachineV2.json +19 -19
  18. package/artifacts/VendingMachineV3.json +19 -19
  19. package/artifacts/Wallets.json +13 -13
  20. package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +102 -0
  21. package/artifacts/solcInputs/802132f7da69a8a4226cb9424480847b.json +218 -0
  22. package/artifacts/solcInputs/887fad6b16575ba42183543c324eeb0e.json +335 -0
  23. package/artifacts/solcInputs/{cc4433405642a987910ddb374547d19a.json → fccb130292c8c7cc958ab4fa31a3e180.json} +12 -15
  24. package/export/deploy/00_resolve_relay.js +83 -0
  25. package/export/deploy/01_deploy_tbtc_v2_token.js +70 -0
  26. package/export/deploy/02_deploy_vending_machine.js +84 -0
  27. package/export/deploy/03_transfer_vending_machine_roles.js +69 -0
  28. package/export/deploy/04_deploy_bank.js +73 -0
  29. package/export/deploy/05_deploy_bridge.js +178 -0
  30. package/export/{test/integration/utils/staking.js → deploy/06_deploy_tbtc_vault.js} +32 -35
  31. package/export/deploy/07_deploy_bridge_governance.js +87 -0
  32. package/export/deploy/08_deploy_maintainer_proxy.js +80 -0
  33. package/export/deploy/09_bank_update_bridge.js +63 -0
  34. package/export/deploy/10_authorize_spv_maintainer_in_bridge.js +61 -0
  35. package/export/deploy/11_transfer_bank_ownership.js +60 -0
  36. package/export/deploy/12_transfer_bridge_governance.js +63 -0
  37. package/export/deploy/13_transfer_bridge_governance_ownership.js +60 -0
  38. package/export/deploy/14_transfer_tbtc_vault_ownership.js +60 -0
  39. package/export/deploy/15_transfer_maintainer_proxy_ownership.js +60 -0
  40. package/export/deploy/16_initialize_wallet_owner.js +63 -0
  41. package/export/deploy/16_transfer_proxy_admin_ownership.js +73 -0
  42. package/export/deploy/17_authorize_maintainer_proxy_in_bridge.js +63 -0
  43. package/export/deploy/17_transfer_proxy_admin_ownership.js +73 -0
  44. package/export/deploy/18_authorize_maintainer_proxy_in_bridge.js +63 -0
  45. package/export/deploy/18_authorize_maintainer_proxy_in_reimbursement_pool.js +63 -0
  46. package/export/deploy/19_authorize_bridge_in_reimbursement_pool.js +63 -0
  47. package/export/deploy/19_authorize_maintainer_proxy_in_reimbursement_pool.js +63 -0
  48. package/export/deploy/20_authorize_bridge_in_reimbursement_pool.js +63 -0
  49. package/export/deploy/20_deploy_proxy_admin_with_deputy.js +80 -0
  50. package/export/deploy/21_transfer_reimbursement_pool_ownership.js +60 -0
  51. package/export/deploy/22_deploy_proxy_admin_with_deputy.js +80 -0
  52. package/export/deploy/24_transfer_maintainer_proxy_ownership.js +60 -0
  53. package/export/deploy/25_transfer_proxy_admin_ownership.js +73 -0
  54. package/export/deploy/26_authorize_maintainer_proxy_in_reimbursement_pool.js +70 -0
  55. package/export/deploy/27_authorize_bridge_in_reimbursement_pool.js +70 -0
  56. package/export/deploy/28_deploy_proxy_admin_with_deputy.js +80 -0
  57. package/export/typechain/RelayStub.js +2 -0
  58. package/export/typechain/TestRelay.js +2 -0
  59. package/export/typechain/factories/RelayStub__factory.js +546 -0
  60. package/export/typechain/factories/TestRelay__factory.js +168 -0
  61. package/export.json +566 -55
  62. package/package.json +5 -5
  63. package/artifacts/BLS.json +0 -223
  64. package/artifacts/BeaconAuthorization.json +0 -273
  65. package/artifacts/BeaconDkg.json +0 -241
  66. package/artifacts/BeaconDkgValidator.json +0 -501
  67. package/artifacts/BeaconInactivity.json +0 -151
  68. package/artifacts/BeaconSortitionPool.json +0 -1187
  69. package/artifacts/EcdsaDkgValidator.json +0 -517
  70. package/artifacts/EcdsaInactivity.json +0 -156
  71. package/artifacts/EcdsaSortitionPool.json +0 -1187
  72. package/artifacts/KeepRegistry.json +0 -99
  73. package/artifacts/KeepStake.json +0 -286
  74. package/artifacts/KeepToken.json +0 -711
  75. package/artifacts/KeepTokenStaking.json +0 -483
  76. package/artifacts/NuCypherStakingEscrow.json +0 -287
  77. package/artifacts/NuCypherToken.json +0 -711
  78. package/artifacts/RandomBeacon.json +0 -3271
  79. package/artifacts/RandomBeaconChaosnet.json +0 -252
  80. package/artifacts/RandomBeaconGovernance.json +0 -3499
  81. package/artifacts/ReimbursementPool.json +0 -509
  82. package/artifacts/T.json +0 -1148
  83. package/artifacts/TBTCToken.json +0 -738
  84. package/artifacts/TokenStaking.json +0 -2288
  85. package/artifacts/TokenholderGovernor.json +0 -1795
  86. package/artifacts/TokenholderTimelock.json +0 -1058
  87. package/artifacts/VendingMachineKeep.json +0 -400
  88. package/artifacts/VendingMachineNuCypher.json +0 -400
  89. package/artifacts/WalletRegistry.json +0 -1962
  90. package/artifacts/WalletRegistryGovernance.json +0 -2863
  91. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +0 -11975
  92. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +0 -51806
  93. package/export/artifacts/contracts/test/GoerliLightRelay.sol/GoerliLightRelay.json +0 -11988
  94. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +0 -822
  95. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +0 -12729
  96. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +0 -2160
  97. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +0 -3407
  98. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +0 -14263
  99. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +0 -10644
  100. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +0 -1160
  101. package/export/test/integration/data/bls.js +0 -12
  102. package/export/test/integration/data/integration.js +0 -133
  103. package/export/test/integration/utils/ecdsa-wallet-registry.js +0 -370
  104. package/export/test/integration/utils/random-beacon.js +0 -193
package/export.json CHANGED
@@ -7576,12 +7576,7 @@
7576
7576
  "outputs": [],
7577
7577
  "stateMutability": "nonpayable",
7578
7578
  "type": "function"
7579
- }
7580
- ]
7581
- },
7582
- "TBTCVault": {
7583
- "address": "0x9C070027cdC9dc8F82416B2e5314E11DFb4FE3CD",
7584
- "abi": [
7579
+ },
7585
7580
  {
7586
7581
  "inputs": [],
7587
7582
  "name": "submitDepositSweepProofGasOffset",
@@ -8460,19 +8455,6 @@
8460
8455
  "stateMutability": "nonpayable",
8461
8456
  "type": "function"
8462
8457
  },
8463
- {
8464
- "inputs": [],
8465
- "name": "SATOSHI_MULTIPLIER",
8466
- "outputs": [
8467
- {
8468
- "internalType": "uint256",
8469
- "name": "",
8470
- "type": "uint256"
8471
- }
8472
- ],
8473
- "stateMutability": "view",
8474
- "type": "function"
8475
- },
8476
8458
  {
8477
8459
  "inputs": [
8478
8460
  {
@@ -8548,35 +8530,6 @@
8548
8530
  "stateMutability": "nonpayable",
8549
8531
  "type": "function"
8550
8532
  },
8551
- {
8552
- "inputs": [
8553
- {
8554
- "internalType": "uint256",
8555
- "name": "amount",
8556
- "type": "uint256"
8557
- }
8558
- ],
8559
- "name": "amountToSatoshis",
8560
- "outputs": [
8561
- {
8562
- "internalType": "uint256",
8563
- "name": "convertibleAmount",
8564
- "type": "uint256"
8565
- },
8566
- {
8567
- "internalType": "uint256",
8568
- "name": "remainder",
8569
- "type": "uint256"
8570
- },
8571
- {
8572
- "internalType": "uint256",
8573
- "name": "satoshis",
8574
- "type": "uint256"
8575
- }
8576
- ],
8577
- "stateMutability": "view",
8578
- "type": "function"
8579
- },
8580
8533
  {
8581
8534
  "inputs": [],
8582
8535
  "name": "name",
@@ -8818,7 +8771,7 @@
8818
8771
  ]
8819
8772
  },
8820
8773
  "TBTCVault": {
8821
- "address": "0x52818E501612d3c5B37B5f9b83B024342c277Fd4",
8774
+ "address": "0x9C070027cdC9dc8F82416B2e5314E11DFb4FE3CD",
8822
8775
  "abi": [
8823
8776
  {
8824
8777
  "inputs": [
@@ -9063,7 +9016,7 @@
9063
9016
  {
9064
9017
  "indexed": false,
9065
9018
  "internalType": "uint256",
9066
- "name": "satoshis",
9019
+ "name": "amount",
9067
9020
  "type": "uint256"
9068
9021
  },
9069
9022
  {
@@ -9098,9 +9051,10 @@
9098
9051
  "type": "address"
9099
9052
  },
9100
9053
  {
9101
- "internalType": "uint256[]",
9102
- "name": "depositedSatoshiAmounts",
9103
- "type": "uint256[]"
9054
+ "indexed": true,
9055
+ "internalType": "address",
9056
+ "name": "newOwner",
9057
+ "type": "address"
9104
9058
  }
9105
9059
  ],
9106
9060
  "name": "OwnershipTransferred",
@@ -9170,6 +9124,19 @@
9170
9124
  "stateMutability": "view",
9171
9125
  "type": "function"
9172
9126
  },
9127
+ {
9128
+ "inputs": [],
9129
+ "name": "SATOSHI_MULTIPLIER",
9130
+ "outputs": [
9131
+ {
9132
+ "internalType": "uint256",
9133
+ "name": "",
9134
+ "type": "uint256"
9135
+ }
9136
+ ],
9137
+ "stateMutability": "view",
9138
+ "type": "function"
9139
+ },
9173
9140
  {
9174
9141
  "inputs": [
9175
9142
  {
@@ -9196,6 +9163,35 @@
9196
9163
  "stateMutability": "nonpayable",
9197
9164
  "type": "function"
9198
9165
  },
9166
+ {
9167
+ "inputs": [
9168
+ {
9169
+ "internalType": "uint256",
9170
+ "name": "amount",
9171
+ "type": "uint256"
9172
+ }
9173
+ ],
9174
+ "name": "amountToSatoshis",
9175
+ "outputs": [
9176
+ {
9177
+ "internalType": "uint256",
9178
+ "name": "convertibleAmount",
9179
+ "type": "uint256"
9180
+ },
9181
+ {
9182
+ "internalType": "uint256",
9183
+ "name": "remainder",
9184
+ "type": "uint256"
9185
+ },
9186
+ {
9187
+ "internalType": "uint256",
9188
+ "name": "satoshis",
9189
+ "type": "uint256"
9190
+ }
9191
+ ],
9192
+ "stateMutability": "view",
9193
+ "type": "function"
9194
+ },
9199
9195
  {
9200
9196
  "inputs": [],
9201
9197
  "name": "bank",
@@ -9629,7 +9625,7 @@
9629
9625
  },
9630
9626
  {
9631
9627
  "internalType": "uint256",
9632
- "name": "amount",
9628
+ "name": "satoshis",
9633
9629
  "type": "uint256"
9634
9630
  },
9635
9631
  {
@@ -9652,7 +9648,7 @@
9652
9648
  },
9653
9649
  {
9654
9650
  "internalType": "uint256[]",
9655
- "name": "depositedAmounts",
9651
+ "name": "depositedSatoshiAmounts",
9656
9652
  "type": "uint256[]"
9657
9653
  }
9658
9654
  ],
@@ -10405,6 +10401,521 @@
10405
10401
  }
10406
10402
  ]
10407
10403
  },
10404
+ "VendingMachineV2": {
10405
+ "address": "0xcE1F983c29f7A6C0C0dFA78C4D8Fe7bdfe026d4B",
10406
+ "abi": [
10407
+ {
10408
+ "inputs": [
10409
+ {
10410
+ "internalType": "contract IERC20",
10411
+ "name": "_tbtcV1",
10412
+ "type": "address"
10413
+ },
10414
+ {
10415
+ "internalType": "contract TBTC",
10416
+ "name": "_tbtcV2",
10417
+ "type": "address"
10418
+ }
10419
+ ],
10420
+ "stateMutability": "nonpayable",
10421
+ "type": "constructor"
10422
+ },
10423
+ {
10424
+ "anonymous": false,
10425
+ "inputs": [
10426
+ {
10427
+ "indexed": false,
10428
+ "internalType": "address",
10429
+ "name": "from",
10430
+ "type": "address"
10431
+ },
10432
+ {
10433
+ "indexed": false,
10434
+ "internalType": "uint256",
10435
+ "name": "amount",
10436
+ "type": "uint256"
10437
+ }
10438
+ ],
10439
+ "name": "Deposited",
10440
+ "type": "event"
10441
+ },
10442
+ {
10443
+ "anonymous": false,
10444
+ "inputs": [
10445
+ {
10446
+ "indexed": true,
10447
+ "internalType": "address",
10448
+ "name": "to",
10449
+ "type": "address"
10450
+ },
10451
+ {
10452
+ "indexed": false,
10453
+ "internalType": "uint256",
10454
+ "name": "amount",
10455
+ "type": "uint256"
10456
+ }
10457
+ ],
10458
+ "name": "Exchanged",
10459
+ "type": "event"
10460
+ },
10461
+ {
10462
+ "anonymous": false,
10463
+ "inputs": [
10464
+ {
10465
+ "indexed": true,
10466
+ "internalType": "address",
10467
+ "name": "previousOwner",
10468
+ "type": "address"
10469
+ },
10470
+ {
10471
+ "indexed": true,
10472
+ "internalType": "address",
10473
+ "name": "newOwner",
10474
+ "type": "address"
10475
+ }
10476
+ ],
10477
+ "name": "OwnershipTransferred",
10478
+ "type": "event"
10479
+ },
10480
+ {
10481
+ "anonymous": false,
10482
+ "inputs": [
10483
+ {
10484
+ "indexed": false,
10485
+ "internalType": "address",
10486
+ "name": "token",
10487
+ "type": "address"
10488
+ },
10489
+ {
10490
+ "indexed": false,
10491
+ "internalType": "address",
10492
+ "name": "to",
10493
+ "type": "address"
10494
+ },
10495
+ {
10496
+ "indexed": false,
10497
+ "internalType": "uint256",
10498
+ "name": "amount",
10499
+ "type": "uint256"
10500
+ }
10501
+ ],
10502
+ "name": "Withdrawn",
10503
+ "type": "event"
10504
+ },
10505
+ {
10506
+ "inputs": [
10507
+ {
10508
+ "internalType": "uint256",
10509
+ "name": "amount",
10510
+ "type": "uint256"
10511
+ }
10512
+ ],
10513
+ "name": "depositTbtcV2",
10514
+ "outputs": [],
10515
+ "stateMutability": "nonpayable",
10516
+ "type": "function"
10517
+ },
10518
+ {
10519
+ "inputs": [
10520
+ {
10521
+ "internalType": "uint256",
10522
+ "name": "amount",
10523
+ "type": "uint256"
10524
+ }
10525
+ ],
10526
+ "name": "exchange",
10527
+ "outputs": [],
10528
+ "stateMutability": "nonpayable",
10529
+ "type": "function"
10530
+ },
10531
+ {
10532
+ "inputs": [],
10533
+ "name": "owner",
10534
+ "outputs": [
10535
+ {
10536
+ "internalType": "address",
10537
+ "name": "",
10538
+ "type": "address"
10539
+ }
10540
+ ],
10541
+ "stateMutability": "view",
10542
+ "type": "function"
10543
+ },
10544
+ {
10545
+ "inputs": [
10546
+ {
10547
+ "internalType": "address",
10548
+ "name": "from",
10549
+ "type": "address"
10550
+ },
10551
+ {
10552
+ "internalType": "uint256",
10553
+ "name": "amount",
10554
+ "type": "uint256"
10555
+ },
10556
+ {
10557
+ "internalType": "address",
10558
+ "name": "token",
10559
+ "type": "address"
10560
+ },
10561
+ {
10562
+ "internalType": "bytes",
10563
+ "name": "",
10564
+ "type": "bytes"
10565
+ }
10566
+ ],
10567
+ "name": "receiveApproval",
10568
+ "outputs": [],
10569
+ "stateMutability": "nonpayable",
10570
+ "type": "function"
10571
+ },
10572
+ {
10573
+ "inputs": [],
10574
+ "name": "renounceOwnership",
10575
+ "outputs": [],
10576
+ "stateMutability": "nonpayable",
10577
+ "type": "function"
10578
+ },
10579
+ {
10580
+ "inputs": [],
10581
+ "name": "tbtcV1",
10582
+ "outputs": [
10583
+ {
10584
+ "internalType": "contract IERC20",
10585
+ "name": "",
10586
+ "type": "address"
10587
+ }
10588
+ ],
10589
+ "stateMutability": "view",
10590
+ "type": "function"
10591
+ },
10592
+ {
10593
+ "inputs": [],
10594
+ "name": "tbtcV2",
10595
+ "outputs": [
10596
+ {
10597
+ "internalType": "contract TBTC",
10598
+ "name": "",
10599
+ "type": "address"
10600
+ }
10601
+ ],
10602
+ "stateMutability": "view",
10603
+ "type": "function"
10604
+ },
10605
+ {
10606
+ "inputs": [
10607
+ {
10608
+ "internalType": "address",
10609
+ "name": "newOwner",
10610
+ "type": "address"
10611
+ }
10612
+ ],
10613
+ "name": "transferOwnership",
10614
+ "outputs": [],
10615
+ "stateMutability": "nonpayable",
10616
+ "type": "function"
10617
+ },
10618
+ {
10619
+ "inputs": [
10620
+ {
10621
+ "internalType": "contract IERC20",
10622
+ "name": "token",
10623
+ "type": "address"
10624
+ },
10625
+ {
10626
+ "internalType": "address",
10627
+ "name": "recipient",
10628
+ "type": "address"
10629
+ },
10630
+ {
10631
+ "internalType": "uint256",
10632
+ "name": "amount",
10633
+ "type": "uint256"
10634
+ }
10635
+ ],
10636
+ "name": "withdrawFunds",
10637
+ "outputs": [],
10638
+ "stateMutability": "nonpayable",
10639
+ "type": "function"
10640
+ }
10641
+ ]
10642
+ },
10643
+ "VendingMachineV3": {
10644
+ "address": "0x7570a2350183b4BdF7CA74faD3Fc19048E6437e6",
10645
+ "abi": [
10646
+ {
10647
+ "inputs": [
10648
+ {
10649
+ "internalType": "contract IERC20",
10650
+ "name": "_tbtcV1",
10651
+ "type": "address"
10652
+ },
10653
+ {
10654
+ "internalType": "contract TBTC",
10655
+ "name": "_tbtcV2",
10656
+ "type": "address"
10657
+ }
10658
+ ],
10659
+ "stateMutability": "nonpayable",
10660
+ "type": "constructor"
10661
+ },
10662
+ {
10663
+ "anonymous": false,
10664
+ "inputs": [
10665
+ {
10666
+ "indexed": false,
10667
+ "internalType": "address",
10668
+ "name": "from",
10669
+ "type": "address"
10670
+ },
10671
+ {
10672
+ "indexed": false,
10673
+ "internalType": "uint256",
10674
+ "name": "amount",
10675
+ "type": "uint256"
10676
+ }
10677
+ ],
10678
+ "name": "Deposited",
10679
+ "type": "event"
10680
+ },
10681
+ {
10682
+ "anonymous": false,
10683
+ "inputs": [
10684
+ {
10685
+ "indexed": true,
10686
+ "internalType": "address",
10687
+ "name": "to",
10688
+ "type": "address"
10689
+ },
10690
+ {
10691
+ "indexed": false,
10692
+ "internalType": "uint256",
10693
+ "name": "amount",
10694
+ "type": "uint256"
10695
+ }
10696
+ ],
10697
+ "name": "Exchanged",
10698
+ "type": "event"
10699
+ },
10700
+ {
10701
+ "anonymous": false,
10702
+ "inputs": [
10703
+ {
10704
+ "indexed": false,
10705
+ "internalType": "address",
10706
+ "name": "token",
10707
+ "type": "address"
10708
+ },
10709
+ {
10710
+ "indexed": false,
10711
+ "internalType": "address",
10712
+ "name": "to",
10713
+ "type": "address"
10714
+ },
10715
+ {
10716
+ "indexed": false,
10717
+ "internalType": "uint256",
10718
+ "name": "amount",
10719
+ "type": "uint256"
10720
+ }
10721
+ ],
10722
+ "name": "FundsRecovered",
10723
+ "type": "event"
10724
+ },
10725
+ {
10726
+ "anonymous": false,
10727
+ "inputs": [
10728
+ {
10729
+ "indexed": true,
10730
+ "internalType": "address",
10731
+ "name": "previousOwner",
10732
+ "type": "address"
10733
+ },
10734
+ {
10735
+ "indexed": true,
10736
+ "internalType": "address",
10737
+ "name": "newOwner",
10738
+ "type": "address"
10739
+ }
10740
+ ],
10741
+ "name": "OwnershipTransferred",
10742
+ "type": "event"
10743
+ },
10744
+ {
10745
+ "anonymous": false,
10746
+ "inputs": [
10747
+ {
10748
+ "indexed": false,
10749
+ "internalType": "address",
10750
+ "name": "to",
10751
+ "type": "address"
10752
+ },
10753
+ {
10754
+ "indexed": false,
10755
+ "internalType": "uint256",
10756
+ "name": "amount",
10757
+ "type": "uint256"
10758
+ }
10759
+ ],
10760
+ "name": "TbtcV2Withdrawn",
10761
+ "type": "event"
10762
+ },
10763
+ {
10764
+ "inputs": [
10765
+ {
10766
+ "internalType": "uint256",
10767
+ "name": "amount",
10768
+ "type": "uint256"
10769
+ }
10770
+ ],
10771
+ "name": "depositTbtcV2",
10772
+ "outputs": [],
10773
+ "stateMutability": "nonpayable",
10774
+ "type": "function"
10775
+ },
10776
+ {
10777
+ "inputs": [
10778
+ {
10779
+ "internalType": "uint256",
10780
+ "name": "amount",
10781
+ "type": "uint256"
10782
+ }
10783
+ ],
10784
+ "name": "exchange",
10785
+ "outputs": [],
10786
+ "stateMutability": "nonpayable",
10787
+ "type": "function"
10788
+ },
10789
+ {
10790
+ "inputs": [],
10791
+ "name": "owner",
10792
+ "outputs": [
10793
+ {
10794
+ "internalType": "address",
10795
+ "name": "",
10796
+ "type": "address"
10797
+ }
10798
+ ],
10799
+ "stateMutability": "view",
10800
+ "type": "function"
10801
+ },
10802
+ {
10803
+ "inputs": [
10804
+ {
10805
+ "internalType": "address",
10806
+ "name": "from",
10807
+ "type": "address"
10808
+ },
10809
+ {
10810
+ "internalType": "uint256",
10811
+ "name": "amount",
10812
+ "type": "uint256"
10813
+ },
10814
+ {
10815
+ "internalType": "address",
10816
+ "name": "token",
10817
+ "type": "address"
10818
+ },
10819
+ {
10820
+ "internalType": "bytes",
10821
+ "name": "",
10822
+ "type": "bytes"
10823
+ }
10824
+ ],
10825
+ "name": "receiveApproval",
10826
+ "outputs": [],
10827
+ "stateMutability": "nonpayable",
10828
+ "type": "function"
10829
+ },
10830
+ {
10831
+ "inputs": [
10832
+ {
10833
+ "internalType": "contract IERC20",
10834
+ "name": "token",
10835
+ "type": "address"
10836
+ },
10837
+ {
10838
+ "internalType": "address",
10839
+ "name": "recipient",
10840
+ "type": "address"
10841
+ },
10842
+ {
10843
+ "internalType": "uint256",
10844
+ "name": "amount",
10845
+ "type": "uint256"
10846
+ }
10847
+ ],
10848
+ "name": "recoverFunds",
10849
+ "outputs": [],
10850
+ "stateMutability": "nonpayable",
10851
+ "type": "function"
10852
+ },
10853
+ {
10854
+ "inputs": [],
10855
+ "name": "renounceOwnership",
10856
+ "outputs": [],
10857
+ "stateMutability": "nonpayable",
10858
+ "type": "function"
10859
+ },
10860
+ {
10861
+ "inputs": [],
10862
+ "name": "tbtcV1",
10863
+ "outputs": [
10864
+ {
10865
+ "internalType": "contract IERC20",
10866
+ "name": "",
10867
+ "type": "address"
10868
+ }
10869
+ ],
10870
+ "stateMutability": "view",
10871
+ "type": "function"
10872
+ },
10873
+ {
10874
+ "inputs": [],
10875
+ "name": "tbtcV2",
10876
+ "outputs": [
10877
+ {
10878
+ "internalType": "contract TBTC",
10879
+ "name": "",
10880
+ "type": "address"
10881
+ }
10882
+ ],
10883
+ "stateMutability": "view",
10884
+ "type": "function"
10885
+ },
10886
+ {
10887
+ "inputs": [
10888
+ {
10889
+ "internalType": "address",
10890
+ "name": "newOwner",
10891
+ "type": "address"
10892
+ }
10893
+ ],
10894
+ "name": "transferOwnership",
10895
+ "outputs": [],
10896
+ "stateMutability": "nonpayable",
10897
+ "type": "function"
10898
+ },
10899
+ {
10900
+ "inputs": [
10901
+ {
10902
+ "internalType": "address",
10903
+ "name": "recipient",
10904
+ "type": "address"
10905
+ },
10906
+ {
10907
+ "internalType": "uint256",
10908
+ "name": "amount",
10909
+ "type": "uint256"
10910
+ }
10911
+ ],
10912
+ "name": "withdrawTbtcV2",
10913
+ "outputs": [],
10914
+ "stateMutability": "nonpayable",
10915
+ "type": "function"
10916
+ }
10917
+ ]
10918
+ },
10408
10919
  "Wallets": {
10409
10920
  "address": "0xC67913137429985416DbCe28D9fa9ec960BA47BF",
10410
10921
  "abi": [