@ring-protocol/few-v2-sdk 0.1.2 → 0.1.4

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.
@@ -10,6 +10,7 @@ var address = require('@ethersproject/address');
10
10
  var bignumber = require('@ethersproject/bignumber');
11
11
  var solidity = require('@ethersproject/solidity');
12
12
  var invariant = _interopDefault(require('tiny-invariant'));
13
+ var lib = require('ethers/lib');
13
14
 
14
15
  /**
15
16
  * @deprecated use FACTORY_ADDRESS_MAP instead
@@ -487,6 +488,2679 @@ var Pair = /*#__PURE__*/function () {
487
488
  }]);
488
489
  }();
489
490
 
491
+ var _format = "hh-sol-artifact-1";
492
+ var contractName = "FewWrappedToken";
493
+ var sourceName = "contracts/FewWrappedToken.sol";
494
+ var abi = [
495
+ {
496
+ inputs: [
497
+ ],
498
+ stateMutability: "nonpayable",
499
+ type: "constructor"
500
+ },
501
+ {
502
+ anonymous: false,
503
+ inputs: [
504
+ {
505
+ indexed: true,
506
+ internalType: "address",
507
+ name: "owner",
508
+ type: "address"
509
+ },
510
+ {
511
+ indexed: true,
512
+ internalType: "address",
513
+ name: "spender",
514
+ type: "address"
515
+ },
516
+ {
517
+ indexed: false,
518
+ internalType: "uint256",
519
+ name: "value",
520
+ type: "uint256"
521
+ }
522
+ ],
523
+ name: "Approval",
524
+ type: "event"
525
+ },
526
+ {
527
+ anonymous: false,
528
+ inputs: [
529
+ {
530
+ indexed: true,
531
+ internalType: "address",
532
+ name: "burner",
533
+ type: "address"
534
+ },
535
+ {
536
+ indexed: false,
537
+ internalType: "uint256",
538
+ name: "amount",
539
+ type: "uint256"
540
+ },
541
+ {
542
+ indexed: true,
543
+ internalType: "address",
544
+ name: "to",
545
+ type: "address"
546
+ }
547
+ ],
548
+ name: "Burn",
549
+ type: "event"
550
+ },
551
+ {
552
+ anonymous: false,
553
+ inputs: [
554
+ {
555
+ indexed: true,
556
+ internalType: "address",
557
+ name: "minter",
558
+ type: "address"
559
+ },
560
+ {
561
+ indexed: false,
562
+ internalType: "uint256",
563
+ name: "amount",
564
+ type: "uint256"
565
+ },
566
+ {
567
+ indexed: true,
568
+ internalType: "address",
569
+ name: "to",
570
+ type: "address"
571
+ }
572
+ ],
573
+ name: "Mint",
574
+ type: "event"
575
+ },
576
+ {
577
+ anonymous: false,
578
+ inputs: [
579
+ {
580
+ indexed: true,
581
+ internalType: "address",
582
+ name: "from",
583
+ type: "address"
584
+ },
585
+ {
586
+ indexed: true,
587
+ internalType: "address",
588
+ name: "to",
589
+ type: "address"
590
+ },
591
+ {
592
+ indexed: false,
593
+ internalType: "uint256",
594
+ name: "value",
595
+ type: "uint256"
596
+ }
597
+ ],
598
+ name: "Transfer",
599
+ type: "event"
600
+ },
601
+ {
602
+ anonymous: false,
603
+ inputs: [
604
+ {
605
+ indexed: true,
606
+ internalType: "address",
607
+ name: "sender",
608
+ type: "address"
609
+ },
610
+ {
611
+ indexed: false,
612
+ internalType: "uint256",
613
+ name: "amount",
614
+ type: "uint256"
615
+ },
616
+ {
617
+ indexed: true,
618
+ internalType: "address",
619
+ name: "to",
620
+ type: "address"
621
+ }
622
+ ],
623
+ name: "Unwrap",
624
+ type: "event"
625
+ },
626
+ {
627
+ anonymous: false,
628
+ inputs: [
629
+ {
630
+ indexed: true,
631
+ internalType: "address",
632
+ name: "sender",
633
+ type: "address"
634
+ },
635
+ {
636
+ indexed: false,
637
+ internalType: "uint256",
638
+ name: "amount",
639
+ type: "uint256"
640
+ },
641
+ {
642
+ indexed: true,
643
+ internalType: "address",
644
+ name: "to",
645
+ type: "address"
646
+ }
647
+ ],
648
+ name: "Wrap",
649
+ type: "event"
650
+ },
651
+ {
652
+ inputs: [
653
+ ],
654
+ name: "DOMAIN_SEPARATOR",
655
+ outputs: [
656
+ {
657
+ internalType: "bytes32",
658
+ name: "",
659
+ type: "bytes32"
660
+ }
661
+ ],
662
+ stateMutability: "view",
663
+ type: "function"
664
+ },
665
+ {
666
+ inputs: [
667
+ ],
668
+ name: "PERMIT_TYPEHASH",
669
+ outputs: [
670
+ {
671
+ internalType: "bytes32",
672
+ name: "",
673
+ type: "bytes32"
674
+ }
675
+ ],
676
+ stateMutability: "view",
677
+ type: "function"
678
+ },
679
+ {
680
+ inputs: [
681
+ {
682
+ internalType: "address",
683
+ name: "",
684
+ type: "address"
685
+ },
686
+ {
687
+ internalType: "address",
688
+ name: "",
689
+ type: "address"
690
+ }
691
+ ],
692
+ name: "allowance",
693
+ outputs: [
694
+ {
695
+ internalType: "uint256",
696
+ name: "",
697
+ type: "uint256"
698
+ }
699
+ ],
700
+ stateMutability: "view",
701
+ type: "function"
702
+ },
703
+ {
704
+ inputs: [
705
+ {
706
+ internalType: "address",
707
+ name: "spender",
708
+ type: "address"
709
+ },
710
+ {
711
+ internalType: "uint256",
712
+ name: "value",
713
+ type: "uint256"
714
+ }
715
+ ],
716
+ name: "approve",
717
+ outputs: [
718
+ {
719
+ internalType: "bool",
720
+ name: "",
721
+ type: "bool"
722
+ }
723
+ ],
724
+ stateMutability: "nonpayable",
725
+ type: "function"
726
+ },
727
+ {
728
+ inputs: [
729
+ {
730
+ internalType: "address",
731
+ name: "",
732
+ type: "address"
733
+ }
734
+ ],
735
+ name: "balanceOf",
736
+ outputs: [
737
+ {
738
+ internalType: "uint256",
739
+ name: "",
740
+ type: "uint256"
741
+ }
742
+ ],
743
+ stateMutability: "view",
744
+ type: "function"
745
+ },
746
+ {
747
+ inputs: [
748
+ {
749
+ internalType: "uint256",
750
+ name: "amount",
751
+ type: "uint256"
752
+ }
753
+ ],
754
+ name: "burn",
755
+ outputs: [
756
+ ],
757
+ stateMutability: "nonpayable",
758
+ type: "function"
759
+ },
760
+ {
761
+ inputs: [
762
+ {
763
+ internalType: "address",
764
+ name: "account",
765
+ type: "address"
766
+ },
767
+ {
768
+ internalType: "uint256",
769
+ name: "amount",
770
+ type: "uint256"
771
+ }
772
+ ],
773
+ name: "burnFrom",
774
+ outputs: [
775
+ ],
776
+ stateMutability: "nonpayable",
777
+ type: "function"
778
+ },
779
+ {
780
+ inputs: [
781
+ {
782
+ internalType: "address",
783
+ name: "recipient",
784
+ type: "address"
785
+ }
786
+ ],
787
+ name: "claimMaxGas",
788
+ outputs: [
789
+ {
790
+ internalType: "uint256",
791
+ name: "",
792
+ type: "uint256"
793
+ }
794
+ ],
795
+ stateMutability: "nonpayable",
796
+ type: "function"
797
+ },
798
+ {
799
+ inputs: [
800
+ ],
801
+ name: "decimals",
802
+ outputs: [
803
+ {
804
+ internalType: "uint8",
805
+ name: "",
806
+ type: "uint8"
807
+ }
808
+ ],
809
+ stateMutability: "view",
810
+ type: "function"
811
+ },
812
+ {
813
+ inputs: [
814
+ ],
815
+ name: "factory",
816
+ outputs: [
817
+ {
818
+ internalType: "address",
819
+ name: "",
820
+ type: "address"
821
+ }
822
+ ],
823
+ stateMutability: "view",
824
+ type: "function"
825
+ },
826
+ {
827
+ inputs: [
828
+ {
829
+ internalType: "address",
830
+ name: "account",
831
+ type: "address"
832
+ },
833
+ {
834
+ internalType: "uint256",
835
+ name: "amount",
836
+ type: "uint256"
837
+ }
838
+ ],
839
+ name: "mint",
840
+ outputs: [
841
+ ],
842
+ stateMutability: "nonpayable",
843
+ type: "function"
844
+ },
845
+ {
846
+ inputs: [
847
+ ],
848
+ name: "name",
849
+ outputs: [
850
+ {
851
+ internalType: "string",
852
+ name: "",
853
+ type: "string"
854
+ }
855
+ ],
856
+ stateMutability: "view",
857
+ type: "function"
858
+ },
859
+ {
860
+ inputs: [
861
+ {
862
+ internalType: "address",
863
+ name: "",
864
+ type: "address"
865
+ }
866
+ ],
867
+ name: "nonces",
868
+ outputs: [
869
+ {
870
+ internalType: "uint256",
871
+ name: "",
872
+ type: "uint256"
873
+ }
874
+ ],
875
+ stateMutability: "view",
876
+ type: "function"
877
+ },
878
+ {
879
+ inputs: [
880
+ {
881
+ internalType: "address",
882
+ name: "owner",
883
+ type: "address"
884
+ },
885
+ {
886
+ internalType: "address",
887
+ name: "spender",
888
+ type: "address"
889
+ },
890
+ {
891
+ internalType: "uint256",
892
+ name: "value",
893
+ type: "uint256"
894
+ },
895
+ {
896
+ internalType: "uint256",
897
+ name: "deadline",
898
+ type: "uint256"
899
+ },
900
+ {
901
+ internalType: "uint8",
902
+ name: "v",
903
+ type: "uint8"
904
+ },
905
+ {
906
+ internalType: "bytes32",
907
+ name: "r",
908
+ type: "bytes32"
909
+ },
910
+ {
911
+ internalType: "bytes32",
912
+ name: "s",
913
+ type: "bytes32"
914
+ }
915
+ ],
916
+ name: "permit",
917
+ outputs: [
918
+ ],
919
+ stateMutability: "nonpayable",
920
+ type: "function"
921
+ },
922
+ {
923
+ inputs: [
924
+ ],
925
+ name: "symbol",
926
+ outputs: [
927
+ {
928
+ internalType: "string",
929
+ name: "",
930
+ type: "string"
931
+ }
932
+ ],
933
+ stateMutability: "view",
934
+ type: "function"
935
+ },
936
+ {
937
+ inputs: [
938
+ ],
939
+ name: "token",
940
+ outputs: [
941
+ {
942
+ internalType: "address",
943
+ name: "",
944
+ type: "address"
945
+ }
946
+ ],
947
+ stateMutability: "view",
948
+ type: "function"
949
+ },
950
+ {
951
+ inputs: [
952
+ ],
953
+ name: "totalSupply",
954
+ outputs: [
955
+ {
956
+ internalType: "uint256",
957
+ name: "",
958
+ type: "uint256"
959
+ }
960
+ ],
961
+ stateMutability: "view",
962
+ type: "function"
963
+ },
964
+ {
965
+ inputs: [
966
+ {
967
+ internalType: "address",
968
+ name: "to",
969
+ type: "address"
970
+ },
971
+ {
972
+ internalType: "uint256",
973
+ name: "value",
974
+ type: "uint256"
975
+ }
976
+ ],
977
+ name: "transfer",
978
+ outputs: [
979
+ {
980
+ internalType: "bool",
981
+ name: "",
982
+ type: "bool"
983
+ }
984
+ ],
985
+ stateMutability: "nonpayable",
986
+ type: "function"
987
+ },
988
+ {
989
+ inputs: [
990
+ {
991
+ internalType: "address",
992
+ name: "from",
993
+ type: "address"
994
+ },
995
+ {
996
+ internalType: "address",
997
+ name: "to",
998
+ type: "address"
999
+ },
1000
+ {
1001
+ internalType: "uint256",
1002
+ name: "value",
1003
+ type: "uint256"
1004
+ }
1005
+ ],
1006
+ name: "transferFrom",
1007
+ outputs: [
1008
+ {
1009
+ internalType: "bool",
1010
+ name: "",
1011
+ type: "bool"
1012
+ }
1013
+ ],
1014
+ stateMutability: "nonpayable",
1015
+ type: "function"
1016
+ },
1017
+ {
1018
+ inputs: [
1019
+ {
1020
+ internalType: "uint256",
1021
+ name: "amount",
1022
+ type: "uint256"
1023
+ }
1024
+ ],
1025
+ name: "unwrap",
1026
+ outputs: [
1027
+ {
1028
+ internalType: "uint256",
1029
+ name: "",
1030
+ type: "uint256"
1031
+ }
1032
+ ],
1033
+ stateMutability: "nonpayable",
1034
+ type: "function"
1035
+ },
1036
+ {
1037
+ inputs: [
1038
+ {
1039
+ internalType: "uint256",
1040
+ name: "amount",
1041
+ type: "uint256"
1042
+ },
1043
+ {
1044
+ internalType: "address",
1045
+ name: "to",
1046
+ type: "address"
1047
+ }
1048
+ ],
1049
+ name: "unwrapTo",
1050
+ outputs: [
1051
+ {
1052
+ internalType: "uint256",
1053
+ name: "",
1054
+ type: "uint256"
1055
+ }
1056
+ ],
1057
+ stateMutability: "nonpayable",
1058
+ type: "function"
1059
+ },
1060
+ {
1061
+ inputs: [
1062
+ {
1063
+ internalType: "uint256",
1064
+ name: "amount",
1065
+ type: "uint256"
1066
+ }
1067
+ ],
1068
+ name: "wrap",
1069
+ outputs: [
1070
+ {
1071
+ internalType: "uint256",
1072
+ name: "",
1073
+ type: "uint256"
1074
+ }
1075
+ ],
1076
+ stateMutability: "nonpayable",
1077
+ type: "function"
1078
+ },
1079
+ {
1080
+ inputs: [
1081
+ {
1082
+ internalType: "uint256",
1083
+ name: "amount",
1084
+ type: "uint256"
1085
+ },
1086
+ {
1087
+ internalType: "address",
1088
+ name: "to",
1089
+ type: "address"
1090
+ }
1091
+ ],
1092
+ name: "wrapTo",
1093
+ outputs: [
1094
+ {
1095
+ internalType: "uint256",
1096
+ name: "",
1097
+ type: "uint256"
1098
+ }
1099
+ ],
1100
+ stateMutability: "nonpayable",
1101
+ type: "function"
1102
+ }
1103
+ ];
1104
+ var bytecode = "0x60806040523480156200001157600080fd5b50604051469080605262002489823960520190506040518091039020600060405180828054600181600116156101000203166002900480156200008e5780601f106200006b5761010080835404028352918201916200008e565b820191906000526020600020905b81548152906001019060200180831162000079575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060860152608085018690523060a0808701919091528151808703909101815260c08601808352815191840191909120600555600780546001600160a01b0319163390811790915563ad4d4e2960e01b9091529051909463ad4d4e29945060c4808201945090829003018186803b1580156200015757600080fd5b505afa1580156200016c573d6000803e3d6000fd5b505050506040513d60208110156200018357600080fd5b5051600880546001600160a01b0319166001600160a01b039283161790819055604080516306fdde0360e01b8152905191909216916306fdde03916004808301926000929190829003018186803b158015620001de57600080fd5b505afa158015620001f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200021d57600080fd5b81019080805160405193929190846401000000008211156200023e57600080fd5b9083019060208201858111156200025457600080fd5b82516401000000008111828201881017156200026f57600080fd5b82525081516020918201929091019080838360005b838110156200029e57818101518382015260200162000284565b50505050905090810190601f168015620002cc5780820380516001836020036101000a031916815260200191505b5060405250508151620002e7926000925060200190620005f3565b50600060405160200180806b02332bb902bb930b83832b2160a51b815250600c0182805460018160011615610100020316600290048015620003635780601f106200034057610100808354040283529182019162000363565b820191906000526020600020905b8154815290600101906020018083116200034e575b505060408051601f1981840301815291905280516200038d935060009250602090910190620005f3565b50600860009054906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620003dd57600080fd5b505afa158015620003f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200041c57600080fd5b81019080805160405193929190846401000000008211156200043d57600080fd5b9083019060208201858111156200045357600080fd5b82516401000000008111828201881017156200046e57600080fd5b82525081516020918201929091019080838360005b838110156200049d57818101518382015260200162000483565b50505050905090810190601f168015620004cb5780820380516001836020036101000a031916815260200191505b5060405250508151620004e6926001925060200190620005f3565b506001604051602001808061667760f01b81525060020182805460018160011615610100020316600290048015620005585780601f106200053557610100808354040283529182019162000558565b820191906000526020600020905b81548152906001019060200180831162000543575b505060408051601f19818403018152919052805162000582935060019250602090910190620005f3565b507343000000000000000000000000000000000000026001600160a01b0316634e606c476040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620005d357600080fd5b505af1158015620005e8573d6000803e3d6000fd5b505050505062000698565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200063657805160ff191683800117855562000666565b8280016001018555821562000666579182015b828111156200066657825182559160200191906001019062000649565b506200067492915062000678565b5090565b6200069591905b808211156200067457600081556001016200067f565b90565b611de180620006a86000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806370a08231116100e3578063cd2002f51161008c578063de0e9a3e11610066578063de0e9a3e1461058e578063ea598cb0146105ab578063fc0c546a146105c85761018d565b8063cd2002f5146104c2578063d505accf146104f5578063dd62ed3e146105535761018d565b806395d89b41116100bd57806395d89b4114610450578063a9059cbb14610458578063c45a0155146104915761018d565b806370a08231146103b157806379cc6790146103e45780637ecebe001461041d5761018d565b806330adf81f1161014557806340c10f191161011f57806340c10f191461032057806342966c681461035b5780635dbd6059146103785761018d565b806330adf81f146102f2578063313ce567146102fa5780633644e515146103185761018d565b806318160ddd1161017657806318160ddd1461025c57806323b872dd1461027657806326599850146102b95761018d565b806306fdde0314610192578063095ea7b31461020f575b600080fd5b61019a6105d0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d45781810151838201526020016101bc565b50505050905090810190601f1680156102015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102486004803603604081101561022557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561067c565b604080519115158252519081900360200190f35b610264610693565b60408051918252519081900360200190f35b6102486004803603606081101561028c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610699565b610264600480360360408110156102cf57600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610778565b61026461086b565b61030261088f565b6040805160ff9092168252519081900360200190f35b610264610894565b6103596004803603604081101561033657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561089a565b005b6103596004803603602081101561037157600080fd5b5035610b8e565b6102646004803603604081101561038e57600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610bd2565b610264600480360360208110156103c757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610cae565b610359600480360360408110156103fa57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610cc0565b6102646004803603602081101561043357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fb4565b61019a610fc6565b6102486004803603604081101561046e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561103e565b61049961104b565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610264600480360360208110156104d857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611067565b610359600480360360e081101561050b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356112ac565b6102646004803603604081101561056957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611578565b610264600480360360208110156105a457600080fd5b5035611595565b610264600480360360208110156105c157600080fd5b50356115a1565b6104996115ad565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106745780601f1061064957610100808354040283529160200191610674565b820191906000526020600020905b81548152906001019060200180831161065757829003601f168201915b505050505081565b60006106893384846115c9565b5060015b92915050565b60025481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146107635773ffffffffffffffffffffffffffffffffffffffff84166000908152600460209081526040808320338452909152902054610731908363ffffffff61163816565b73ffffffffffffffffffffffffffffffffffffffff851660009081526004602090815260408083203384529091529020555b61076e8484846116aa565b5060019392505050565b60008083116107e857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4665773a2063616e27742077726170207a65726f20746f6b656e000000000000604482015290519081900360640190fd5b60085461080d9073ffffffffffffffffffffffffffffffffffffffff1633308661178b565b610817828461195b565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917feb5580a0908e96b78bdcb1a3c5638793b491a6073c3ff56061a069cb205817739181900360200190a35090919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60055481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b15801561090257600080fd5b505afa158015610916573d6000803e3d6000fd5b505050506040513d602081101561092c57600080fd5b5051604080517faa271e1a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163aa271e1a91602480820192602092909190829003018186803b15801561099c57600080fd5b505afa1580156109b0573d6000803e3d6000fd5b505050506040513d60208110156109c657600080fd5b5051610a3357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206d696e74657200604482015290519081900360640190fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9b57600080fd5b505afa158015610aaf573d6000803e3d6000fd5b505050506040513d6020811015610ac557600080fd5b505115610b3357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610b3d828261195b565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fbcad3d7d3dfccb90d49c6063bf70f828901fefc88937d90af74e58e6e55bc39d9181900360200190a35050565b610b983382611a0c565b604080518281529051339182917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a350565b6000808311610c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611d3b6023913960400191505060405180910390fd5b610c363384611a0c565b600854610c5a9073ffffffffffffffffffffffffffffffffffffffff168385611ad0565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917f12d6424519838e57637c6db9df31af32d7926ff0a53dd37007c191d0fe3028189181900360200190a35090919050565b60036020526000908152604090205481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2857600080fd5b505afa158015610d3c573d6000803e3d6000fd5b505050506040513d6020811015610d5257600080fd5b5051604080517f4334614a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691634334614a91602480820192602092909190829003018186803b158015610dc257600080fd5b505afa158015610dd6573d6000803e3d6000fd5b505050506040513d6020811015610dec57600080fd5b5051610e5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206275726e657200604482015290519081900360640190fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec157600080fd5b505afa158015610ed5573d6000803e3d6000fd5b505050506040513d6020811015610eeb57600080fd5b505115610f5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610f638282611a0c565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a35050565b60066020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106745780601f1061064957610100808354040283529160200191610674565b60006106893384846116aa565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b600754604080517ff2f4eb26000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163f2f4eb26916004808301926020929190829003018186803b1580156110d257600080fd5b505afa1580156110e6573d6000803e3d6000fd5b505050506040513d60208110156110fc57600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b15801561116c57600080fd5b505afa158015611180573d6000803e3d6000fd5b505050506040513d602081101561119657600080fd5b50516111ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611d5e6021913960400191505060405180910390fd5b604080517f662aa11d00000000000000000000000000000000000000000000000000000000815260006004820181905273ffffffffffffffffffffffffffffffffffffffff8516602483015291517343000000000000000000000000000000000000029263662aa11d92604480820193602093909283900390910190829087803b15801561127a57600080fd5b505af115801561128e573d6000803e3d6000fd5b505050506040513d60208110156112a457600080fd5b505192915050565b4284101561131b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4665773a20455850495245440000000000000000000000000000000000000000604482015290519081900360640190fd5b60055473ffffffffffffffffffffffffffffffffffffffff80891660008181526006602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa15801561147c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116158015906114f757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61156257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665773a20494e56414c49445f5349474e415455524500000000000000000000604482015290519081900360640190fd5b61156d8989896115c9565b505050505050505050565b600460209081526000928352604080842090915290825290205481565b600061068d8233610bd2565b600061068d8233610778565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561068d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260409020546116e0908263ffffffff61163816565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600360205260408082209390935590841681522054611722908263ffffffff611c9716565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061186957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161182c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146118cb576040519150601f19603f3d011682016040523d82523d6000602084013e6118d0565b606091505b50915091508180156118fe5750805115806118fe57508080602001905160208110156118fb57600080fd5b50515b611953576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611d0a6031913960400191505060405180910390fd5b505050505050565b60025461196e908263ffffffff611c9716565b60025573ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260409020546119a7908263ffffffff611c9716565b73ffffffffffffffffffffffffffffffffffffffff831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054611a42908263ffffffff61163816565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902055600254611a7b908263ffffffff61163816565b60025560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310611ba657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611b69565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c08576040519150601f19603f3d011682016040523d82523d6000602084013e611c0d565b606091505b5091509150818015611c3b575080511580611c3b5750808060200190516020811015611c3857600080fd5b50515b611c90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611d7f602d913960400191505060405180910390fd5b5050505050565b8082018281101561068d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c65644665773a207a65726f20616d6f756e7420756e77726170206e6f7420616c6c6f776564436f72655265663a2043616c6c6572206973206e6f74206120676f7665726e6f725472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a2646970667358221220d7fd196a2dee0bd2daa50f4be8ce4153534129a912325a54effe1fa17da46a6e64736f6c63430006060033454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429";
1105
+ var deployedBytecode = "0x608060405234801561001057600080fd5b506004361061018d5760003560e01c806370a08231116100e3578063cd2002f51161008c578063de0e9a3e11610066578063de0e9a3e1461058e578063ea598cb0146105ab578063fc0c546a146105c85761018d565b8063cd2002f5146104c2578063d505accf146104f5578063dd62ed3e146105535761018d565b806395d89b41116100bd57806395d89b4114610450578063a9059cbb14610458578063c45a0155146104915761018d565b806370a08231146103b157806379cc6790146103e45780637ecebe001461041d5761018d565b806330adf81f1161014557806340c10f191161011f57806340c10f191461032057806342966c681461035b5780635dbd6059146103785761018d565b806330adf81f146102f2578063313ce567146102fa5780633644e515146103185761018d565b806318160ddd1161017657806318160ddd1461025c57806323b872dd1461027657806326599850146102b95761018d565b806306fdde0314610192578063095ea7b31461020f575b600080fd5b61019a6105d0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d45781810151838201526020016101bc565b50505050905090810190601f1680156102015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102486004803603604081101561022557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561067c565b604080519115158252519081900360200190f35b610264610693565b60408051918252519081900360200190f35b6102486004803603606081101561028c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610699565b610264600480360360408110156102cf57600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610778565b61026461086b565b61030261088f565b6040805160ff9092168252519081900360200190f35b610264610894565b6103596004803603604081101561033657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561089a565b005b6103596004803603602081101561037157600080fd5b5035610b8e565b6102646004803603604081101561038e57600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610bd2565b610264600480360360208110156103c757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610cae565b610359600480360360408110156103fa57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610cc0565b6102646004803603602081101561043357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fb4565b61019a610fc6565b6102486004803603604081101561046e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561103e565b61049961104b565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610264600480360360208110156104d857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611067565b610359600480360360e081101561050b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356112ac565b6102646004803603604081101561056957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611578565b610264600480360360208110156105a457600080fd5b5035611595565b610264600480360360208110156105c157600080fd5b50356115a1565b6104996115ad565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106745780601f1061064957610100808354040283529160200191610674565b820191906000526020600020905b81548152906001019060200180831161065757829003601f168201915b505050505081565b60006106893384846115c9565b5060015b92915050565b60025481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146107635773ffffffffffffffffffffffffffffffffffffffff84166000908152600460209081526040808320338452909152902054610731908363ffffffff61163816565b73ffffffffffffffffffffffffffffffffffffffff851660009081526004602090815260408083203384529091529020555b61076e8484846116aa565b5060019392505050565b60008083116107e857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4665773a2063616e27742077726170207a65726f20746f6b656e000000000000604482015290519081900360640190fd5b60085461080d9073ffffffffffffffffffffffffffffffffffffffff1633308661178b565b610817828461195b565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917feb5580a0908e96b78bdcb1a3c5638793b491a6073c3ff56061a069cb205817739181900360200190a35090919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60055481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b15801561090257600080fd5b505afa158015610916573d6000803e3d6000fd5b505050506040513d602081101561092c57600080fd5b5051604080517faa271e1a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163aa271e1a91602480820192602092909190829003018186803b15801561099c57600080fd5b505afa1580156109b0573d6000803e3d6000fd5b505050506040513d60208110156109c657600080fd5b5051610a3357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206d696e74657200604482015290519081900360640190fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9b57600080fd5b505afa158015610aaf573d6000803e3d6000fd5b505050506040513d6020811015610ac557600080fd5b505115610b3357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610b3d828261195b565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fbcad3d7d3dfccb90d49c6063bf70f828901fefc88937d90af74e58e6e55bc39d9181900360200190a35050565b610b983382611a0c565b604080518281529051339182917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a350565b6000808311610c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611d3b6023913960400191505060405180910390fd5b610c363384611a0c565b600854610c5a9073ffffffffffffffffffffffffffffffffffffffff168385611ad0565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917f12d6424519838e57637c6db9df31af32d7926ff0a53dd37007c191d0fe3028189181900360200190a35090919050565b60036020526000908152604090205481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2857600080fd5b505afa158015610d3c573d6000803e3d6000fd5b505050506040513d6020811015610d5257600080fd5b5051604080517f4334614a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691634334614a91602480820192602092909190829003018186803b158015610dc257600080fd5b505afa158015610dd6573d6000803e3d6000fd5b505050506040513d6020811015610dec57600080fd5b5051610e5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206275726e657200604482015290519081900360640190fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec157600080fd5b505afa158015610ed5573d6000803e3d6000fd5b505050506040513d6020811015610eeb57600080fd5b505115610f5957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610f638282611a0c565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a35050565b60066020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106745780601f1061064957610100808354040283529160200191610674565b60006106893384846116aa565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b600754604080517ff2f4eb26000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163f2f4eb26916004808301926020929190829003018186803b1580156110d257600080fd5b505afa1580156110e6573d6000803e3d6000fd5b505050506040513d60208110156110fc57600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b15801561116c57600080fd5b505afa158015611180573d6000803e3d6000fd5b505050506040513d602081101561119657600080fd5b50516111ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611d5e6021913960400191505060405180910390fd5b604080517f662aa11d00000000000000000000000000000000000000000000000000000000815260006004820181905273ffffffffffffffffffffffffffffffffffffffff8516602483015291517343000000000000000000000000000000000000029263662aa11d92604480820193602093909283900390910190829087803b15801561127a57600080fd5b505af115801561128e573d6000803e3d6000fd5b505050506040513d60208110156112a457600080fd5b505192915050565b4284101561131b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4665773a20455850495245440000000000000000000000000000000000000000604482015290519081900360640190fd5b60055473ffffffffffffffffffffffffffffffffffffffff80891660008181526006602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa15801561147c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116158015906114f757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61156257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665773a20494e56414c49445f5349474e415455524500000000000000000000604482015290519081900360640190fd5b61156d8989896115c9565b505050505050505050565b600460209081526000928352604080842090915290825290205481565b600061068d8233610bd2565b600061068d8233610778565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561068d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260409020546116e0908263ffffffff61163816565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600360205260408082209390935590841681522054611722908263ffffffff611c9716565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061186957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161182c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146118cb576040519150601f19603f3d011682016040523d82523d6000602084013e6118d0565b606091505b50915091508180156118fe5750805115806118fe57508080602001905160208110156118fb57600080fd5b50515b611953576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611d0a6031913960400191505060405180910390fd5b505050505050565b60025461196e908263ffffffff611c9716565b60025573ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260409020546119a7908263ffffffff611c9716565b73ffffffffffffffffffffffffffffffffffffffff831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054611a42908263ffffffff61163816565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902055600254611a7b908263ffffffff61163816565b60025560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310611ba657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611b69565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c08576040519150601f19603f3d011682016040523d82523d6000602084013e611c0d565b606091505b5091509150818015611c3b575080511580611c3b5750808060200190516020811015611c3857600080fd5b50515b611c90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611d7f602d913960400191505060405180910390fd5b5050505050565b8082018281101561068d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c65644665773a207a65726f20616d6f756e7420756e77726170206e6f7420616c6c6f776564436f72655265663a2043616c6c6572206973206e6f74206120676f7665726e6f725472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a2646970667358221220d7fd196a2dee0bd2daa50f4be8ce4153534129a912325a54effe1fa17da46a6e64736f6c63430006060033";
1106
+ var linkReferences = {
1107
+ };
1108
+ var deployedLinkReferences = {
1109
+ };
1110
+ var BlastIFewWrappedTokenJSON = {
1111
+ _format: _format,
1112
+ contractName: contractName,
1113
+ sourceName: sourceName,
1114
+ abi: abi,
1115
+ bytecode: bytecode,
1116
+ deployedBytecode: deployedBytecode,
1117
+ linkReferences: linkReferences,
1118
+ deployedLinkReferences: deployedLinkReferences
1119
+ };
1120
+
1121
+ var _format$1 = "hh-sol-artifact-1";
1122
+ var contractName$1 = "FewWrappedToken";
1123
+ var sourceName$1 = "contracts/FewWrappedToken.sol";
1124
+ var abi$1 = [
1125
+ {
1126
+ inputs: [
1127
+ ],
1128
+ stateMutability: "nonpayable",
1129
+ type: "constructor"
1130
+ },
1131
+ {
1132
+ anonymous: false,
1133
+ inputs: [
1134
+ {
1135
+ indexed: true,
1136
+ internalType: "address",
1137
+ name: "owner",
1138
+ type: "address"
1139
+ },
1140
+ {
1141
+ indexed: true,
1142
+ internalType: "address",
1143
+ name: "spender",
1144
+ type: "address"
1145
+ },
1146
+ {
1147
+ indexed: false,
1148
+ internalType: "uint256",
1149
+ name: "value",
1150
+ type: "uint256"
1151
+ }
1152
+ ],
1153
+ name: "Approval",
1154
+ type: "event"
1155
+ },
1156
+ {
1157
+ anonymous: false,
1158
+ inputs: [
1159
+ {
1160
+ indexed: true,
1161
+ internalType: "address",
1162
+ name: "burner",
1163
+ type: "address"
1164
+ },
1165
+ {
1166
+ indexed: false,
1167
+ internalType: "uint256",
1168
+ name: "amount",
1169
+ type: "uint256"
1170
+ },
1171
+ {
1172
+ indexed: true,
1173
+ internalType: "address",
1174
+ name: "to",
1175
+ type: "address"
1176
+ }
1177
+ ],
1178
+ name: "Burn",
1179
+ type: "event"
1180
+ },
1181
+ {
1182
+ anonymous: false,
1183
+ inputs: [
1184
+ {
1185
+ indexed: true,
1186
+ internalType: "address",
1187
+ name: "minter",
1188
+ type: "address"
1189
+ },
1190
+ {
1191
+ indexed: false,
1192
+ internalType: "uint256",
1193
+ name: "amount",
1194
+ type: "uint256"
1195
+ },
1196
+ {
1197
+ indexed: true,
1198
+ internalType: "address",
1199
+ name: "to",
1200
+ type: "address"
1201
+ }
1202
+ ],
1203
+ name: "Mint",
1204
+ type: "event"
1205
+ },
1206
+ {
1207
+ anonymous: false,
1208
+ inputs: [
1209
+ {
1210
+ indexed: true,
1211
+ internalType: "address",
1212
+ name: "from",
1213
+ type: "address"
1214
+ },
1215
+ {
1216
+ indexed: true,
1217
+ internalType: "address",
1218
+ name: "to",
1219
+ type: "address"
1220
+ },
1221
+ {
1222
+ indexed: false,
1223
+ internalType: "uint256",
1224
+ name: "value",
1225
+ type: "uint256"
1226
+ }
1227
+ ],
1228
+ name: "Transfer",
1229
+ type: "event"
1230
+ },
1231
+ {
1232
+ anonymous: false,
1233
+ inputs: [
1234
+ {
1235
+ indexed: true,
1236
+ internalType: "address",
1237
+ name: "sender",
1238
+ type: "address"
1239
+ },
1240
+ {
1241
+ indexed: false,
1242
+ internalType: "uint256",
1243
+ name: "amount",
1244
+ type: "uint256"
1245
+ },
1246
+ {
1247
+ indexed: true,
1248
+ internalType: "address",
1249
+ name: "to",
1250
+ type: "address"
1251
+ }
1252
+ ],
1253
+ name: "Unwrap",
1254
+ type: "event"
1255
+ },
1256
+ {
1257
+ anonymous: false,
1258
+ inputs: [
1259
+ {
1260
+ indexed: true,
1261
+ internalType: "address",
1262
+ name: "sender",
1263
+ type: "address"
1264
+ },
1265
+ {
1266
+ indexed: false,
1267
+ internalType: "uint256",
1268
+ name: "amount",
1269
+ type: "uint256"
1270
+ },
1271
+ {
1272
+ indexed: true,
1273
+ internalType: "address",
1274
+ name: "to",
1275
+ type: "address"
1276
+ }
1277
+ ],
1278
+ name: "Wrap",
1279
+ type: "event"
1280
+ },
1281
+ {
1282
+ inputs: [
1283
+ ],
1284
+ name: "BLAST",
1285
+ outputs: [
1286
+ {
1287
+ internalType: "contract IBlast",
1288
+ name: "",
1289
+ type: "address"
1290
+ }
1291
+ ],
1292
+ stateMutability: "view",
1293
+ type: "function"
1294
+ },
1295
+ {
1296
+ inputs: [
1297
+ ],
1298
+ name: "DOMAIN_SEPARATOR",
1299
+ outputs: [
1300
+ {
1301
+ internalType: "bytes32",
1302
+ name: "",
1303
+ type: "bytes32"
1304
+ }
1305
+ ],
1306
+ stateMutability: "view",
1307
+ type: "function"
1308
+ },
1309
+ {
1310
+ inputs: [
1311
+ ],
1312
+ name: "PERMIT_TYPEHASH",
1313
+ outputs: [
1314
+ {
1315
+ internalType: "bytes32",
1316
+ name: "",
1317
+ type: "bytes32"
1318
+ }
1319
+ ],
1320
+ stateMutability: "view",
1321
+ type: "function"
1322
+ },
1323
+ {
1324
+ inputs: [
1325
+ {
1326
+ internalType: "address",
1327
+ name: "",
1328
+ type: "address"
1329
+ },
1330
+ {
1331
+ internalType: "address",
1332
+ name: "",
1333
+ type: "address"
1334
+ }
1335
+ ],
1336
+ name: "allowance",
1337
+ outputs: [
1338
+ {
1339
+ internalType: "uint256",
1340
+ name: "",
1341
+ type: "uint256"
1342
+ }
1343
+ ],
1344
+ stateMutability: "view",
1345
+ type: "function"
1346
+ },
1347
+ {
1348
+ inputs: [
1349
+ {
1350
+ internalType: "address",
1351
+ name: "spender",
1352
+ type: "address"
1353
+ },
1354
+ {
1355
+ internalType: "uint256",
1356
+ name: "value",
1357
+ type: "uint256"
1358
+ }
1359
+ ],
1360
+ name: "approve",
1361
+ outputs: [
1362
+ {
1363
+ internalType: "bool",
1364
+ name: "",
1365
+ type: "bool"
1366
+ }
1367
+ ],
1368
+ stateMutability: "nonpayable",
1369
+ type: "function"
1370
+ },
1371
+ {
1372
+ inputs: [
1373
+ {
1374
+ internalType: "address",
1375
+ name: "",
1376
+ type: "address"
1377
+ }
1378
+ ],
1379
+ name: "balanceOf",
1380
+ outputs: [
1381
+ {
1382
+ internalType: "uint256",
1383
+ name: "",
1384
+ type: "uint256"
1385
+ }
1386
+ ],
1387
+ stateMutability: "view",
1388
+ type: "function"
1389
+ },
1390
+ {
1391
+ inputs: [
1392
+ {
1393
+ internalType: "uint256",
1394
+ name: "amount",
1395
+ type: "uint256"
1396
+ }
1397
+ ],
1398
+ name: "burn",
1399
+ outputs: [
1400
+ ],
1401
+ stateMutability: "nonpayable",
1402
+ type: "function"
1403
+ },
1404
+ {
1405
+ inputs: [
1406
+ {
1407
+ internalType: "address",
1408
+ name: "account",
1409
+ type: "address"
1410
+ },
1411
+ {
1412
+ internalType: "uint256",
1413
+ name: "amount",
1414
+ type: "uint256"
1415
+ }
1416
+ ],
1417
+ name: "burnFrom",
1418
+ outputs: [
1419
+ ],
1420
+ stateMutability: "nonpayable",
1421
+ type: "function"
1422
+ },
1423
+ {
1424
+ inputs: [
1425
+ {
1426
+ internalType: "address",
1427
+ name: "recipient",
1428
+ type: "address"
1429
+ },
1430
+ {
1431
+ internalType: "bool",
1432
+ name: "isMax",
1433
+ type: "bool"
1434
+ }
1435
+ ],
1436
+ name: "claimGas",
1437
+ outputs: [
1438
+ {
1439
+ internalType: "uint256",
1440
+ name: "",
1441
+ type: "uint256"
1442
+ }
1443
+ ],
1444
+ stateMutability: "nonpayable",
1445
+ type: "function"
1446
+ },
1447
+ {
1448
+ inputs: [
1449
+ ],
1450
+ name: "decimals",
1451
+ outputs: [
1452
+ {
1453
+ internalType: "uint8",
1454
+ name: "",
1455
+ type: "uint8"
1456
+ }
1457
+ ],
1458
+ stateMutability: "view",
1459
+ type: "function"
1460
+ },
1461
+ {
1462
+ inputs: [
1463
+ ],
1464
+ name: "factory",
1465
+ outputs: [
1466
+ {
1467
+ internalType: "address",
1468
+ name: "",
1469
+ type: "address"
1470
+ }
1471
+ ],
1472
+ stateMutability: "view",
1473
+ type: "function"
1474
+ },
1475
+ {
1476
+ inputs: [
1477
+ ],
1478
+ name: "manager",
1479
+ outputs: [
1480
+ {
1481
+ internalType: "address",
1482
+ name: "",
1483
+ type: "address"
1484
+ }
1485
+ ],
1486
+ stateMutability: "view",
1487
+ type: "function"
1488
+ },
1489
+ {
1490
+ inputs: [
1491
+ {
1492
+ internalType: "address",
1493
+ name: "account",
1494
+ type: "address"
1495
+ },
1496
+ {
1497
+ internalType: "uint256",
1498
+ name: "amount",
1499
+ type: "uint256"
1500
+ }
1501
+ ],
1502
+ name: "mint",
1503
+ outputs: [
1504
+ ],
1505
+ stateMutability: "nonpayable",
1506
+ type: "function"
1507
+ },
1508
+ {
1509
+ inputs: [
1510
+ ],
1511
+ name: "name",
1512
+ outputs: [
1513
+ {
1514
+ internalType: "string",
1515
+ name: "",
1516
+ type: "string"
1517
+ }
1518
+ ],
1519
+ stateMutability: "view",
1520
+ type: "function"
1521
+ },
1522
+ {
1523
+ inputs: [
1524
+ {
1525
+ internalType: "address",
1526
+ name: "",
1527
+ type: "address"
1528
+ }
1529
+ ],
1530
+ name: "nonces",
1531
+ outputs: [
1532
+ {
1533
+ internalType: "uint256",
1534
+ name: "",
1535
+ type: "uint256"
1536
+ }
1537
+ ],
1538
+ stateMutability: "view",
1539
+ type: "function"
1540
+ },
1541
+ {
1542
+ inputs: [
1543
+ {
1544
+ internalType: "address",
1545
+ name: "owner",
1546
+ type: "address"
1547
+ },
1548
+ {
1549
+ internalType: "address",
1550
+ name: "spender",
1551
+ type: "address"
1552
+ },
1553
+ {
1554
+ internalType: "uint256",
1555
+ name: "value",
1556
+ type: "uint256"
1557
+ },
1558
+ {
1559
+ internalType: "uint256",
1560
+ name: "deadline",
1561
+ type: "uint256"
1562
+ },
1563
+ {
1564
+ internalType: "uint8",
1565
+ name: "v",
1566
+ type: "uint8"
1567
+ },
1568
+ {
1569
+ internalType: "bytes32",
1570
+ name: "r",
1571
+ type: "bytes32"
1572
+ },
1573
+ {
1574
+ internalType: "bytes32",
1575
+ name: "s",
1576
+ type: "bytes32"
1577
+ }
1578
+ ],
1579
+ name: "permit",
1580
+ outputs: [
1581
+ ],
1582
+ stateMutability: "nonpayable",
1583
+ type: "function"
1584
+ },
1585
+ {
1586
+ inputs: [
1587
+ {
1588
+ internalType: "address",
1589
+ name: "blastGas",
1590
+ type: "address"
1591
+ }
1592
+ ],
1593
+ name: "setGasMode",
1594
+ outputs: [
1595
+ ],
1596
+ stateMutability: "nonpayable",
1597
+ type: "function"
1598
+ },
1599
+ {
1600
+ inputs: [
1601
+ {
1602
+ internalType: "address",
1603
+ name: "_manager",
1604
+ type: "address"
1605
+ }
1606
+ ],
1607
+ name: "setManager",
1608
+ outputs: [
1609
+ ],
1610
+ stateMutability: "nonpayable",
1611
+ type: "function"
1612
+ },
1613
+ {
1614
+ inputs: [
1615
+ {
1616
+ internalType: "address",
1617
+ name: "blastPoints",
1618
+ type: "address"
1619
+ },
1620
+ {
1621
+ internalType: "address",
1622
+ name: "operator",
1623
+ type: "address"
1624
+ }
1625
+ ],
1626
+ name: "setPointsOperator",
1627
+ outputs: [
1628
+ ],
1629
+ stateMutability: "nonpayable",
1630
+ type: "function"
1631
+ },
1632
+ {
1633
+ inputs: [
1634
+ ],
1635
+ name: "symbol",
1636
+ outputs: [
1637
+ {
1638
+ internalType: "string",
1639
+ name: "",
1640
+ type: "string"
1641
+ }
1642
+ ],
1643
+ stateMutability: "view",
1644
+ type: "function"
1645
+ },
1646
+ {
1647
+ inputs: [
1648
+ ],
1649
+ name: "token",
1650
+ outputs: [
1651
+ {
1652
+ internalType: "address",
1653
+ name: "",
1654
+ type: "address"
1655
+ }
1656
+ ],
1657
+ stateMutability: "view",
1658
+ type: "function"
1659
+ },
1660
+ {
1661
+ inputs: [
1662
+ ],
1663
+ name: "totalSupply",
1664
+ outputs: [
1665
+ {
1666
+ internalType: "uint256",
1667
+ name: "",
1668
+ type: "uint256"
1669
+ }
1670
+ ],
1671
+ stateMutability: "view",
1672
+ type: "function"
1673
+ },
1674
+ {
1675
+ inputs: [
1676
+ {
1677
+ internalType: "address",
1678
+ name: "to",
1679
+ type: "address"
1680
+ },
1681
+ {
1682
+ internalType: "uint256",
1683
+ name: "value",
1684
+ type: "uint256"
1685
+ }
1686
+ ],
1687
+ name: "transfer",
1688
+ outputs: [
1689
+ {
1690
+ internalType: "bool",
1691
+ name: "",
1692
+ type: "bool"
1693
+ }
1694
+ ],
1695
+ stateMutability: "nonpayable",
1696
+ type: "function"
1697
+ },
1698
+ {
1699
+ inputs: [
1700
+ {
1701
+ internalType: "address",
1702
+ name: "from",
1703
+ type: "address"
1704
+ },
1705
+ {
1706
+ internalType: "address",
1707
+ name: "to",
1708
+ type: "address"
1709
+ },
1710
+ {
1711
+ internalType: "uint256",
1712
+ name: "value",
1713
+ type: "uint256"
1714
+ }
1715
+ ],
1716
+ name: "transferFrom",
1717
+ outputs: [
1718
+ {
1719
+ internalType: "bool",
1720
+ name: "",
1721
+ type: "bool"
1722
+ }
1723
+ ],
1724
+ stateMutability: "nonpayable",
1725
+ type: "function"
1726
+ },
1727
+ {
1728
+ inputs: [
1729
+ {
1730
+ internalType: "uint256",
1731
+ name: "amount",
1732
+ type: "uint256"
1733
+ }
1734
+ ],
1735
+ name: "unwrap",
1736
+ outputs: [
1737
+ {
1738
+ internalType: "uint256",
1739
+ name: "",
1740
+ type: "uint256"
1741
+ }
1742
+ ],
1743
+ stateMutability: "nonpayable",
1744
+ type: "function"
1745
+ },
1746
+ {
1747
+ inputs: [
1748
+ {
1749
+ internalType: "uint256",
1750
+ name: "amount",
1751
+ type: "uint256"
1752
+ },
1753
+ {
1754
+ internalType: "address",
1755
+ name: "to",
1756
+ type: "address"
1757
+ }
1758
+ ],
1759
+ name: "unwrapTo",
1760
+ outputs: [
1761
+ {
1762
+ internalType: "uint256",
1763
+ name: "",
1764
+ type: "uint256"
1765
+ }
1766
+ ],
1767
+ stateMutability: "nonpayable",
1768
+ type: "function"
1769
+ },
1770
+ {
1771
+ inputs: [
1772
+ {
1773
+ internalType: "uint256",
1774
+ name: "amount",
1775
+ type: "uint256"
1776
+ }
1777
+ ],
1778
+ name: "wrap",
1779
+ outputs: [
1780
+ {
1781
+ internalType: "uint256",
1782
+ name: "",
1783
+ type: "uint256"
1784
+ }
1785
+ ],
1786
+ stateMutability: "nonpayable",
1787
+ type: "function"
1788
+ },
1789
+ {
1790
+ inputs: [
1791
+ {
1792
+ internalType: "uint256",
1793
+ name: "amount",
1794
+ type: "uint256"
1795
+ },
1796
+ {
1797
+ internalType: "address",
1798
+ name: "to",
1799
+ type: "address"
1800
+ }
1801
+ ],
1802
+ name: "wrapTo",
1803
+ outputs: [
1804
+ {
1805
+ internalType: "uint256",
1806
+ name: "",
1807
+ type: "uint256"
1808
+ }
1809
+ ],
1810
+ stateMutability: "nonpayable",
1811
+ type: "function"
1812
+ }
1813
+ ];
1814
+ var bytecode$1 = "0x60806040523480156200001157600080fd5b50600080546001600160a01b031916331781556040805163388a0bbd60e11b8152905173430000000000000000000000000000000000000292637114177a926004808201939182900301818387803b1580156200006d57600080fd5b505af115801562000082573d6000803e3d6000fd5b505050507343000000000000000000000000000000000000026001600160a01b0316634e606c476040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620000d657600080fd5b505af1158015620000eb573d6000803e3d6000fd5b5050600880546001600160a01b031916339081179091556040805163ad4d4e2960e01b8152905146945091925063ad4d4e29916004808301926020929190829003018186803b1580156200013e57600080fd5b505afa15801562000153573d6000803e3d6000fd5b505050506040513d60208110156200016a57600080fd5b5051600980546001600160a01b0319166001600160a01b039283161790819055604080516306fdde0360e01b8152905191909216916306fdde03916004808301926000929190829003018186803b158015620001c557600080fd5b505afa158015620001da573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200020457600080fd5b81019080805160405193929190846401000000008211156200022557600080fd5b9083019060208201858111156200023b57600080fd5b82516401000000008111828201881017156200025657600080fd5b82525081516020918201929091019080838360005b83811015620002855781810151838201526020016200026b565b50505050905090810190601f168015620002b35780820380516001836020036101000a031916815260200191505b5060405250505060405160200180806b02332bb902bb930b83832b2160a51b815250600c0182805190602001908083835b60208310620003055780518252601f199092019160209182019101620002e4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052600190805190602001906200035092919062000623565b50600960009054906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620003a057600080fd5b505afa158015620003b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015620003df57600080fd5b81019080805160405193929190846401000000008211156200040057600080fd5b9083019060208201858111156200041657600080fd5b82516401000000008111828201881017156200043157600080fd5b82525081516020918201929091019080838360005b838110156200046057818101518382015260200162000446565b50505050905090810190601f1680156200048e5780820380516001836020036101000a031916815260200191505b50604052505050604051602001808061667760f01b81525060020182805190602001908083835b60208310620004d65780518252601f199092019160209182019101620004b5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052600290805190602001906200052192919062000623565b5060405180605262002c55823960520190506040518091039020600160405180828054600181600116156101000203166002900480156200059c5780601f10620005795761010080835404028352918201916200059c565b820191906000526020600020905b81548152906001019060200180831162000587575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a0808601919091528551808603909101815260c090940190945250508051910120600655620006c8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200066657805160ff191683800117855562000696565b8280016001018555821562000696579182015b828111156200069657825182559160200191906001019062000679565b50620006a4929150620006a8565b5090565b620006c591905b80821115620006a45760008155600101620006af565b90565b61257d80620006d86000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806379cc6790116100f9578063d0ebdbe711610097578063de0e9a3e11610071578063de0e9a3e14610643578063e220831d14610660578063ea598cb01461069b578063fc0c546a146106b8576101c4565b8063d0ebdbe714610577578063d505accf146105aa578063dd62ed3e14610608576101c4565b806397d75776116100d357806397d75776146104f3578063a9059cbb146104fb578063c45a015514610534578063c8b11dfe1461053c576101c4565b806379cc67901461047f5780637ecebe00146104b857806395d89b41146104eb576101c4565b8063313ce5671161016657806342966c681161014057806342966c68146103c5578063481c6a75146103e25780635dbd60591461041357806370a082311461044c576101c4565b8063313ce567146103665780633644e5151461038457806340c10f191461038c576101c4565b806323b872dd116101a257806323b872dd146102ad57806326599850146102f05780632d195bd21461032957806330adf81f1461035e576101c4565b806306fdde03146101c9578063095ea7b31461024657806318160ddd14610293575b600080fd5b6101d16106c0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027f6004803603604081101561025c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561076b565b604080519115158252519081900360200190f35b61029b610782565b60408051918252519081900360200190f35b61027f600480360360608110156102c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610788565b61029b6004803603604081101561030657600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610867565b61035c6004803603602081101561033f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661095a565b005b61029b610b55565b61036e610b79565b6040805160ff9092168252519081900360200190f35b61029b610b7e565b61035c600480360360408110156103a257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610b84565b61035c600480360360208110156103db57600080fd5b5035610e78565b6103ea610ebc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61029b6004803603604081101561042957600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610ed8565b61029b6004803603602081101561046257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fb4565b61035c6004803603604081101561049557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610fc6565b61029b600480360360208110156104ce57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112ba565b6101d16112cc565b6103ea611342565b61027f6004803603604081101561051157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561135a565b6103ea611367565b61029b6004803603604081101561055257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515611383565b61035c6004803603602081101561058d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611666565b61035c600480360360e08110156105c057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611845565b61029b6004803603604081101561061e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611b11565b61029b6004803603602081101561065957600080fd5b5035611b2e565b61035c6004803603604081101561067657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611b3a565b61029b600480360360208110156106b157600080fd5b5035611d6d565b6103ea611d79565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156107635780601f1061073857610100808354040283529160200191610763565b820191906000526020600020905b81548152906001019060200180831161074657829003601f168201915b505050505081565b6000610778338484611d95565b5060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146108525773ffffffffffffffffffffffffffffffffffffffff84166000908152600560209081526040808320338452909152902054610820908363ffffffff611e0416565b73ffffffffffffffffffffffffffffffffffffffff851660009081526005602090815260408083203384529091529020555b61085d848484611e76565b5060019392505050565b60008083116108d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4665773a2063616e27742077726170207a65726f20746f6b656e000000000000604482015290519081900360640190fd5b6009546108fc9073ffffffffffffffffffffffffffffffffffffffff16333086611f57565b610906828461211f565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917feb5580a0908e96b78bdcb1a3c5638793b491a6073c3ff56061a069cb205817739181900360200190a35090919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c157600080fd5b505afa1580156109d5573d6000803e3d6000fd5b505050506040513d60208110156109eb57600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b158015610a5b57600080fd5b505afa158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b5051610af257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b8073ffffffffffffffffffffffffffffffffffffffff16634e606c476040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60065481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015610bec57600080fd5b505afa158015610c00573d6000803e3d6000fd5b505050506040513d6020811015610c1657600080fd5b5051604080517faa271e1a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163aa271e1a91602480820192602092909190829003018186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d6020811015610cb057600080fd5b5051610d1d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206d696e74657200604482015290519081900360640190fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8557600080fd5b505afa158015610d99573d6000803e3d6000fd5b505050506040513d6020811015610daf57600080fd5b505115610e1d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610e27828261211f565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fbcad3d7d3dfccb90d49c6063bf70f828901fefc88937d90af74e58e6e55bc39d9181900360200190a35050565b610e8233826121d0565b604080518281529051339182917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000808311610f32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806124f86023913960400191505060405180910390fd5b610f3c33846121d0565b600954610f609073ffffffffffffffffffffffffffffffffffffffff168385612294565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917f12d6424519838e57637c6db9df31af32d7926ff0a53dd37007c191d0fe3028189181900360200190a35090919050565b60046020526000908152604090205481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b15801561102e57600080fd5b505afa158015611042573d6000803e3d6000fd5b505050506040513d602081101561105857600080fd5b5051604080517f4334614a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691634334614a91602480820192602092909190829003018186803b1580156110c857600080fd5b505afa1580156110dc573d6000803e3d6000fd5b505050506040513d60208110156110f257600080fd5b505161115f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206275726e657200604482015290519081900360640190fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d60208110156111f157600080fd5b50511561125f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b61126982826121d0565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a35050565b60076020526000908152604090205481565b600280546040805160206001841615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909316849004601f810184900484028201840190925281815292918301828280156107635780601f1061073857610100808354040283529160200191610763565b73430000000000000000000000000000000000000281565b6000610778338484611e76565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156113ec57600080fd5b505afa158015611400573d6000803e3d6000fd5b505050506040513d602081101561141657600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b15801561148657600080fd5b505afa15801561149a573d6000803e3d6000fd5b505050506040513d60208110156114b057600080fd5b505161151d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b81156115de57604080517f662aa11d00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8516602482015290517343000000000000000000000000000000000000029163662aa11d9160448083019260209291908290030181600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d60208110156115d557600080fd5b5051905061077c565b604080517f954fa5ee00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8516602482015290517343000000000000000000000000000000000000029163954fa5ee9160448083019260209291908290030181600087803b1580156115ab57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156116cd57600080fd5b505afa1580156116e1573d6000803e3d6000fd5b505050506040513d60208110156116f757600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b15801561176757600080fd5b505afa15801561177b573d6000803e3d6000fd5b505050506040513d602081101561179157600080fd5b50516117fe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b428410156118b457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4665773a20455850495245440000000000000000000000000000000000000000604482015290519081900360640190fd5b60065473ffffffffffffffffffffffffffffffffffffffff80891660008181526007602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611a15573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611a9057508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611afb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665773a20494e56414c49445f5349474e415455524500000000000000000000604482015290519081900360640190fd5b611b06898989611d95565b505050505050505050565b600560209081526000928352604080842090915290825290205481565b600061077c8233610ed8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015611ba157600080fd5b505afa158015611bb5573d6000803e3d6000fd5b505050506040513d6020811015611bcb57600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b158015611c3b57600080fd5b505afa158015611c4f573d6000803e3d6000fd5b505050506040513d6020811015611c6557600080fd5b5051611cd257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff166336b91f2b826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611d5157600080fd5b505af1158015611d65573d6000803e3d6000fd5b505050505050565b600061077c8233610867565b60095473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561077c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260046020526040902054611eac908263ffffffff611e0416565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600460205260408082209390935590841681522054611eee908263ffffffff61245416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526004602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061203557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611ff8565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612097576040519150601f19603f3d011682016040523d82523d6000602084013e61209c565b606091505b50915091508180156120ca5750805115806120ca57508080602001905160208110156120c757600080fd5b50515b611d65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806124c76031913960400191505060405180910390fd5b600354612132908263ffffffff61245416565b60035573ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205461216b908263ffffffff61245416565b73ffffffffffffffffffffffffffffffffffffffff831660008181526004602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040902054612206908263ffffffff611e0416565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602052604090205560035461223f908263ffffffff611e0416565b60035560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b6020831061236a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161232d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146123cc576040519150601f19603f3d011682016040523d82523d6000602084013e6123d1565b606091505b50915091508180156123ff5750805115806123ff57508080602001905160208110156123fc57600080fd5b50515b610b4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061251b602d913960400191505060405180910390fd5b8082018281101561077c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c65644665773a207a65726f20616d6f756e7420756e77726170206e6f7420616c6c6f7765645472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a26469706673582212203fc33f19631f6982b9939229a37c5e4a768f74907515d9ac5ebe0d64086ae03d64736f6c63430006060033454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429";
1815
+ var deployedBytecode$1 = "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806379cc6790116100f9578063d0ebdbe711610097578063de0e9a3e11610071578063de0e9a3e14610643578063e220831d14610660578063ea598cb01461069b578063fc0c546a146106b8576101c4565b8063d0ebdbe714610577578063d505accf146105aa578063dd62ed3e14610608576101c4565b806397d75776116100d357806397d75776146104f3578063a9059cbb146104fb578063c45a015514610534578063c8b11dfe1461053c576101c4565b806379cc67901461047f5780637ecebe00146104b857806395d89b41146104eb576101c4565b8063313ce5671161016657806342966c681161014057806342966c68146103c5578063481c6a75146103e25780635dbd60591461041357806370a082311461044c576101c4565b8063313ce567146103665780633644e5151461038457806340c10f191461038c576101c4565b806323b872dd116101a257806323b872dd146102ad57806326599850146102f05780632d195bd21461032957806330adf81f1461035e576101c4565b806306fdde03146101c9578063095ea7b31461024657806318160ddd14610293575b600080fd5b6101d16106c0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027f6004803603604081101561025c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561076b565b604080519115158252519081900360200190f35b61029b610782565b60408051918252519081900360200190f35b61027f600480360360608110156102c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610788565b61029b6004803603604081101561030657600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610867565b61035c6004803603602081101561033f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661095a565b005b61029b610b55565b61036e610b79565b6040805160ff9092168252519081900360200190f35b61029b610b7e565b61035c600480360360408110156103a257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610b84565b61035c600480360360208110156103db57600080fd5b5035610e78565b6103ea610ebc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61029b6004803603604081101561042957600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610ed8565b61029b6004803603602081101561046257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fb4565b61035c6004803603604081101561049557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610fc6565b61029b600480360360208110156104ce57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166112ba565b6101d16112cc565b6103ea611342565b61027f6004803603604081101561051157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561135a565b6103ea611367565b61029b6004803603604081101561055257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515611383565b61035c6004803603602081101561058d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611666565b61035c600480360360e08110156105c057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611845565b61029b6004803603604081101561061e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611b11565b61029b6004803603602081101561065957600080fd5b5035611b2e565b61035c6004803603604081101561067657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611b3a565b61029b600480360360208110156106b157600080fd5b5035611d6d565b6103ea611d79565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156107635780601f1061073857610100808354040283529160200191610763565b820191906000526020600020905b81548152906001019060200180831161074657829003601f168201915b505050505081565b6000610778338484611d95565b5060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146108525773ffffffffffffffffffffffffffffffffffffffff84166000908152600560209081526040808320338452909152902054610820908363ffffffff611e0416565b73ffffffffffffffffffffffffffffffffffffffff851660009081526005602090815260408083203384529091529020555b61085d848484611e76565b5060019392505050565b60008083116108d757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4665773a2063616e27742077726170207a65726f20746f6b656e000000000000604482015290519081900360640190fd5b6009546108fc9073ffffffffffffffffffffffffffffffffffffffff16333086611f57565b610906828461211f565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917feb5580a0908e96b78bdcb1a3c5638793b491a6073c3ff56061a069cb205817739181900360200190a35090919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c157600080fd5b505afa1580156109d5573d6000803e3d6000fd5b505050506040513d60208110156109eb57600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b158015610a5b57600080fd5b505afa158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b5051610af257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b8073ffffffffffffffffffffffffffffffffffffffff16634e606c476040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b5050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60065481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015610bec57600080fd5b505afa158015610c00573d6000803e3d6000fd5b505050506040513d6020811015610c1657600080fd5b5051604080517faa271e1a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163aa271e1a91602480820192602092909190829003018186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d6020811015610cb057600080fd5b5051610d1d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206d696e74657200604482015290519081900360640190fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8557600080fd5b505afa158015610d99573d6000803e3d6000fd5b505050506040513d6020811015610daf57600080fd5b505115610e1d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610e27828261211f565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fbcad3d7d3dfccb90d49c6063bf70f828901fefc88937d90af74e58e6e55bc39d9181900360200190a35050565b610e8233826121d0565b604080518281529051339182917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a350565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000808311610f32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806124f86023913960400191505060405180910390fd5b610f3c33846121d0565b600954610f609073ffffffffffffffffffffffffffffffffffffffff168385612294565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917f12d6424519838e57637c6db9df31af32d7926ff0a53dd37007c191d0fe3028189181900360200190a35090919050565b60046020526000908152604090205481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b15801561102e57600080fd5b505afa158015611042573d6000803e3d6000fd5b505050506040513d602081101561105857600080fd5b5051604080517f4334614a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691634334614a91602480820192602092909190829003018186803b1580156110c857600080fd5b505afa1580156110dc573d6000803e3d6000fd5b505050506040513d60208110156110f257600080fd5b505161115f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206275726e657200604482015290519081900360640190fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111c757600080fd5b505afa1580156111db573d6000803e3d6000fd5b505050506040513d60208110156111f157600080fd5b50511561125f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b61126982826121d0565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a35050565b60076020526000908152604090205481565b600280546040805160206001841615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909316849004601f810184900484028201840190925281815292918301828280156107635780601f1061073857610100808354040283529160200191610763565b73430000000000000000000000000000000000000281565b6000610778338484611e76565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156113ec57600080fd5b505afa158015611400573d6000803e3d6000fd5b505050506040513d602081101561141657600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b15801561148657600080fd5b505afa15801561149a573d6000803e3d6000fd5b505050506040513d60208110156114b057600080fd5b505161151d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b81156115de57604080517f662aa11d00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8516602482015290517343000000000000000000000000000000000000029163662aa11d9160448083019260209291908290030181600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d60208110156115d557600080fd5b5051905061077c565b604080517f954fa5ee00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8516602482015290517343000000000000000000000000000000000000029163954fa5ee9160448083019260209291908290030181600087803b1580156115ab57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156116cd57600080fd5b505afa1580156116e1573d6000803e3d6000fd5b505050506040513d60208110156116f757600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b15801561176757600080fd5b505afa15801561177b573d6000803e3d6000fd5b505050506040513d602081101561179157600080fd5b50516117fe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b428410156118b457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4665773a20455850495245440000000000000000000000000000000000000000604482015290519081900360640190fd5b60065473ffffffffffffffffffffffffffffffffffffffff80891660008181526007602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611a15573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611a9057508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611afb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665773a20494e56414c49445f5349474e415455524500000000000000000000604482015290519081900360640190fd5b611b06898989611d95565b505050505050505050565b600560209081526000928352604080842090915290825290205481565b600061077c8233610ed8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015611ba157600080fd5b505afa158015611bb5573d6000803e3d6000fd5b505050506040513d6020811015611bcb57600080fd5b5051604080517fe43581b8000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163e43581b891602480820192602092909190829003018186803b158015611c3b57600080fd5b505afa158015611c4f573d6000803e3d6000fd5b505050506040513d6020811015611c6557600080fd5b5051611cd257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff166336b91f2b826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611d5157600080fd5b505af1158015611d65573d6000803e3d6000fd5b505050505050565b600061077c8233610867565b60095473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561077c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260046020526040902054611eac908263ffffffff611e0416565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600460205260408082209390935590841681522054611eee908263ffffffff61245416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526004602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061203557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611ff8565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612097576040519150601f19603f3d011682016040523d82523d6000602084013e61209c565b606091505b50915091508180156120ca5750805115806120ca57508080602001905160208110156120c757600080fd5b50515b611d65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806124c76031913960400191505060405180910390fd5b600354612132908263ffffffff61245416565b60035573ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205461216b908263ffffffff61245416565b73ffffffffffffffffffffffffffffffffffffffff831660008181526004602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040902054612206908263ffffffff611e0416565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602052604090205560035461223f908263ffffffff611e0416565b60035560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b6020831061236a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161232d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146123cc576040519150601f19603f3d011682016040523d82523d6000602084013e6123d1565b606091505b50915091508180156123ff5750805115806123ff57508080602001905160208110156123fc57600080fd5b50515b610b4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061251b602d913960400191505060405180910390fd5b8082018281101561077c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c65644665773a207a65726f20616d6f756e7420756e77726170206e6f7420616c6c6f7765645472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a26469706673582212203fc33f19631f6982b9939229a37c5e4a768f74907515d9ac5ebe0d64086ae03d64736f6c63430006060033";
1816
+ var linkReferences$1 = {
1817
+ };
1818
+ var deployedLinkReferences$1 = {
1819
+ };
1820
+ var BlastIMainnetFewWrappedTokenJSON = {
1821
+ _format: _format$1,
1822
+ contractName: contractName$1,
1823
+ sourceName: sourceName$1,
1824
+ abi: abi$1,
1825
+ bytecode: bytecode$1,
1826
+ deployedBytecode: deployedBytecode$1,
1827
+ linkReferences: linkReferences$1,
1828
+ deployedLinkReferences: deployedLinkReferences$1
1829
+ };
1830
+
1831
+ var _format$2 = "hh-sol-artifact-1";
1832
+ var contractName$2 = "FewWrappedToken";
1833
+ var sourceName$2 = "contracts/FewWrappedToken.sol";
1834
+ var abi$2 = [
1835
+ {
1836
+ inputs: [
1837
+ ],
1838
+ stateMutability: "nonpayable",
1839
+ type: "constructor"
1840
+ },
1841
+ {
1842
+ anonymous: false,
1843
+ inputs: [
1844
+ {
1845
+ indexed: true,
1846
+ internalType: "address",
1847
+ name: "owner",
1848
+ type: "address"
1849
+ },
1850
+ {
1851
+ indexed: true,
1852
+ internalType: "address",
1853
+ name: "spender",
1854
+ type: "address"
1855
+ },
1856
+ {
1857
+ indexed: false,
1858
+ internalType: "uint256",
1859
+ name: "value",
1860
+ type: "uint256"
1861
+ }
1862
+ ],
1863
+ name: "Approval",
1864
+ type: "event"
1865
+ },
1866
+ {
1867
+ anonymous: false,
1868
+ inputs: [
1869
+ {
1870
+ indexed: true,
1871
+ internalType: "address",
1872
+ name: "burner",
1873
+ type: "address"
1874
+ },
1875
+ {
1876
+ indexed: false,
1877
+ internalType: "uint256",
1878
+ name: "amount",
1879
+ type: "uint256"
1880
+ },
1881
+ {
1882
+ indexed: true,
1883
+ internalType: "address",
1884
+ name: "to",
1885
+ type: "address"
1886
+ }
1887
+ ],
1888
+ name: "Burn",
1889
+ type: "event"
1890
+ },
1891
+ {
1892
+ anonymous: false,
1893
+ inputs: [
1894
+ {
1895
+ indexed: true,
1896
+ internalType: "address",
1897
+ name: "minter",
1898
+ type: "address"
1899
+ },
1900
+ {
1901
+ indexed: false,
1902
+ internalType: "uint256",
1903
+ name: "amount",
1904
+ type: "uint256"
1905
+ },
1906
+ {
1907
+ indexed: true,
1908
+ internalType: "address",
1909
+ name: "to",
1910
+ type: "address"
1911
+ }
1912
+ ],
1913
+ name: "Mint",
1914
+ type: "event"
1915
+ },
1916
+ {
1917
+ anonymous: false,
1918
+ inputs: [
1919
+ {
1920
+ indexed: true,
1921
+ internalType: "address",
1922
+ name: "from",
1923
+ type: "address"
1924
+ },
1925
+ {
1926
+ indexed: true,
1927
+ internalType: "address",
1928
+ name: "to",
1929
+ type: "address"
1930
+ },
1931
+ {
1932
+ indexed: false,
1933
+ internalType: "uint256",
1934
+ name: "value",
1935
+ type: "uint256"
1936
+ }
1937
+ ],
1938
+ name: "Transfer",
1939
+ type: "event"
1940
+ },
1941
+ {
1942
+ anonymous: false,
1943
+ inputs: [
1944
+ {
1945
+ indexed: true,
1946
+ internalType: "address",
1947
+ name: "sender",
1948
+ type: "address"
1949
+ },
1950
+ {
1951
+ indexed: false,
1952
+ internalType: "uint256",
1953
+ name: "amount",
1954
+ type: "uint256"
1955
+ },
1956
+ {
1957
+ indexed: true,
1958
+ internalType: "address",
1959
+ name: "to",
1960
+ type: "address"
1961
+ }
1962
+ ],
1963
+ name: "Unwrap",
1964
+ type: "event"
1965
+ },
1966
+ {
1967
+ anonymous: false,
1968
+ inputs: [
1969
+ {
1970
+ indexed: true,
1971
+ internalType: "address",
1972
+ name: "sender",
1973
+ type: "address"
1974
+ },
1975
+ {
1976
+ indexed: false,
1977
+ internalType: "uint256",
1978
+ name: "amount",
1979
+ type: "uint256"
1980
+ },
1981
+ {
1982
+ indexed: true,
1983
+ internalType: "address",
1984
+ name: "to",
1985
+ type: "address"
1986
+ }
1987
+ ],
1988
+ name: "Wrap",
1989
+ type: "event"
1990
+ },
1991
+ {
1992
+ inputs: [
1993
+ ],
1994
+ name: "DOMAIN_SEPARATOR",
1995
+ outputs: [
1996
+ {
1997
+ internalType: "bytes32",
1998
+ name: "",
1999
+ type: "bytes32"
2000
+ }
2001
+ ],
2002
+ stateMutability: "view",
2003
+ type: "function"
2004
+ },
2005
+ {
2006
+ inputs: [
2007
+ ],
2008
+ name: "PERMIT_TYPEHASH",
2009
+ outputs: [
2010
+ {
2011
+ internalType: "bytes32",
2012
+ name: "",
2013
+ type: "bytes32"
2014
+ }
2015
+ ],
2016
+ stateMutability: "view",
2017
+ type: "function"
2018
+ },
2019
+ {
2020
+ inputs: [
2021
+ {
2022
+ internalType: "address",
2023
+ name: "",
2024
+ type: "address"
2025
+ },
2026
+ {
2027
+ internalType: "address",
2028
+ name: "",
2029
+ type: "address"
2030
+ }
2031
+ ],
2032
+ name: "allowance",
2033
+ outputs: [
2034
+ {
2035
+ internalType: "uint256",
2036
+ name: "",
2037
+ type: "uint256"
2038
+ }
2039
+ ],
2040
+ stateMutability: "view",
2041
+ type: "function"
2042
+ },
2043
+ {
2044
+ inputs: [
2045
+ {
2046
+ internalType: "address",
2047
+ name: "spender",
2048
+ type: "address"
2049
+ },
2050
+ {
2051
+ internalType: "uint256",
2052
+ name: "value",
2053
+ type: "uint256"
2054
+ }
2055
+ ],
2056
+ name: "approve",
2057
+ outputs: [
2058
+ {
2059
+ internalType: "bool",
2060
+ name: "",
2061
+ type: "bool"
2062
+ }
2063
+ ],
2064
+ stateMutability: "nonpayable",
2065
+ type: "function"
2066
+ },
2067
+ {
2068
+ inputs: [
2069
+ {
2070
+ internalType: "address",
2071
+ name: "",
2072
+ type: "address"
2073
+ }
2074
+ ],
2075
+ name: "balanceOf",
2076
+ outputs: [
2077
+ {
2078
+ internalType: "uint256",
2079
+ name: "",
2080
+ type: "uint256"
2081
+ }
2082
+ ],
2083
+ stateMutability: "view",
2084
+ type: "function"
2085
+ },
2086
+ {
2087
+ inputs: [
2088
+ {
2089
+ internalType: "uint256",
2090
+ name: "amount",
2091
+ type: "uint256"
2092
+ }
2093
+ ],
2094
+ name: "burn",
2095
+ outputs: [
2096
+ ],
2097
+ stateMutability: "nonpayable",
2098
+ type: "function"
2099
+ },
2100
+ {
2101
+ inputs: [
2102
+ {
2103
+ internalType: "address",
2104
+ name: "account",
2105
+ type: "address"
2106
+ },
2107
+ {
2108
+ internalType: "uint256",
2109
+ name: "amount",
2110
+ type: "uint256"
2111
+ }
2112
+ ],
2113
+ name: "burnFrom",
2114
+ outputs: [
2115
+ ],
2116
+ stateMutability: "nonpayable",
2117
+ type: "function"
2118
+ },
2119
+ {
2120
+ inputs: [
2121
+ ],
2122
+ name: "decimals",
2123
+ outputs: [
2124
+ {
2125
+ internalType: "uint8",
2126
+ name: "",
2127
+ type: "uint8"
2128
+ }
2129
+ ],
2130
+ stateMutability: "view",
2131
+ type: "function"
2132
+ },
2133
+ {
2134
+ inputs: [
2135
+ ],
2136
+ name: "factory",
2137
+ outputs: [
2138
+ {
2139
+ internalType: "address",
2140
+ name: "",
2141
+ type: "address"
2142
+ }
2143
+ ],
2144
+ stateMutability: "view",
2145
+ type: "function"
2146
+ },
2147
+ {
2148
+ inputs: [
2149
+ {
2150
+ internalType: "address",
2151
+ name: "account",
2152
+ type: "address"
2153
+ },
2154
+ {
2155
+ internalType: "uint256",
2156
+ name: "amount",
2157
+ type: "uint256"
2158
+ }
2159
+ ],
2160
+ name: "mint",
2161
+ outputs: [
2162
+ ],
2163
+ stateMutability: "nonpayable",
2164
+ type: "function"
2165
+ },
2166
+ {
2167
+ inputs: [
2168
+ ],
2169
+ name: "name",
2170
+ outputs: [
2171
+ {
2172
+ internalType: "string",
2173
+ name: "",
2174
+ type: "string"
2175
+ }
2176
+ ],
2177
+ stateMutability: "view",
2178
+ type: "function"
2179
+ },
2180
+ {
2181
+ inputs: [
2182
+ {
2183
+ internalType: "address",
2184
+ name: "",
2185
+ type: "address"
2186
+ }
2187
+ ],
2188
+ name: "nonces",
2189
+ outputs: [
2190
+ {
2191
+ internalType: "uint256",
2192
+ name: "",
2193
+ type: "uint256"
2194
+ }
2195
+ ],
2196
+ stateMutability: "view",
2197
+ type: "function"
2198
+ },
2199
+ {
2200
+ inputs: [
2201
+ {
2202
+ internalType: "address",
2203
+ name: "owner",
2204
+ type: "address"
2205
+ },
2206
+ {
2207
+ internalType: "address",
2208
+ name: "spender",
2209
+ type: "address"
2210
+ },
2211
+ {
2212
+ internalType: "uint256",
2213
+ name: "value",
2214
+ type: "uint256"
2215
+ },
2216
+ {
2217
+ internalType: "uint256",
2218
+ name: "deadline",
2219
+ type: "uint256"
2220
+ },
2221
+ {
2222
+ internalType: "uint8",
2223
+ name: "v",
2224
+ type: "uint8"
2225
+ },
2226
+ {
2227
+ internalType: "bytes32",
2228
+ name: "r",
2229
+ type: "bytes32"
2230
+ },
2231
+ {
2232
+ internalType: "bytes32",
2233
+ name: "s",
2234
+ type: "bytes32"
2235
+ }
2236
+ ],
2237
+ name: "permit",
2238
+ outputs: [
2239
+ ],
2240
+ stateMutability: "nonpayable",
2241
+ type: "function"
2242
+ },
2243
+ {
2244
+ inputs: [
2245
+ ],
2246
+ name: "symbol",
2247
+ outputs: [
2248
+ {
2249
+ internalType: "string",
2250
+ name: "",
2251
+ type: "string"
2252
+ }
2253
+ ],
2254
+ stateMutability: "view",
2255
+ type: "function"
2256
+ },
2257
+ {
2258
+ inputs: [
2259
+ ],
2260
+ name: "token",
2261
+ outputs: [
2262
+ {
2263
+ internalType: "address",
2264
+ name: "",
2265
+ type: "address"
2266
+ }
2267
+ ],
2268
+ stateMutability: "view",
2269
+ type: "function"
2270
+ },
2271
+ {
2272
+ inputs: [
2273
+ ],
2274
+ name: "totalSupply",
2275
+ outputs: [
2276
+ {
2277
+ internalType: "uint256",
2278
+ name: "",
2279
+ type: "uint256"
2280
+ }
2281
+ ],
2282
+ stateMutability: "view",
2283
+ type: "function"
2284
+ },
2285
+ {
2286
+ inputs: [
2287
+ {
2288
+ internalType: "address",
2289
+ name: "to",
2290
+ type: "address"
2291
+ },
2292
+ {
2293
+ internalType: "uint256",
2294
+ name: "value",
2295
+ type: "uint256"
2296
+ }
2297
+ ],
2298
+ name: "transfer",
2299
+ outputs: [
2300
+ {
2301
+ internalType: "bool",
2302
+ name: "",
2303
+ type: "bool"
2304
+ }
2305
+ ],
2306
+ stateMutability: "nonpayable",
2307
+ type: "function"
2308
+ },
2309
+ {
2310
+ inputs: [
2311
+ {
2312
+ internalType: "address",
2313
+ name: "from",
2314
+ type: "address"
2315
+ },
2316
+ {
2317
+ internalType: "address",
2318
+ name: "to",
2319
+ type: "address"
2320
+ },
2321
+ {
2322
+ internalType: "uint256",
2323
+ name: "value",
2324
+ type: "uint256"
2325
+ }
2326
+ ],
2327
+ name: "transferFrom",
2328
+ outputs: [
2329
+ {
2330
+ internalType: "bool",
2331
+ name: "",
2332
+ type: "bool"
2333
+ }
2334
+ ],
2335
+ stateMutability: "nonpayable",
2336
+ type: "function"
2337
+ },
2338
+ {
2339
+ inputs: [
2340
+ {
2341
+ internalType: "uint256",
2342
+ name: "amount",
2343
+ type: "uint256"
2344
+ }
2345
+ ],
2346
+ name: "unwrap",
2347
+ outputs: [
2348
+ {
2349
+ internalType: "uint256",
2350
+ name: "",
2351
+ type: "uint256"
2352
+ }
2353
+ ],
2354
+ stateMutability: "nonpayable",
2355
+ type: "function"
2356
+ },
2357
+ {
2358
+ inputs: [
2359
+ {
2360
+ internalType: "uint256",
2361
+ name: "amount",
2362
+ type: "uint256"
2363
+ },
2364
+ {
2365
+ internalType: "address",
2366
+ name: "to",
2367
+ type: "address"
2368
+ }
2369
+ ],
2370
+ name: "unwrapTo",
2371
+ outputs: [
2372
+ {
2373
+ internalType: "uint256",
2374
+ name: "",
2375
+ type: "uint256"
2376
+ }
2377
+ ],
2378
+ stateMutability: "nonpayable",
2379
+ type: "function"
2380
+ },
2381
+ {
2382
+ inputs: [
2383
+ {
2384
+ internalType: "uint256",
2385
+ name: "amount",
2386
+ type: "uint256"
2387
+ }
2388
+ ],
2389
+ name: "wrap",
2390
+ outputs: [
2391
+ {
2392
+ internalType: "uint256",
2393
+ name: "",
2394
+ type: "uint256"
2395
+ }
2396
+ ],
2397
+ stateMutability: "nonpayable",
2398
+ type: "function"
2399
+ },
2400
+ {
2401
+ inputs: [
2402
+ {
2403
+ internalType: "uint256",
2404
+ name: "amount",
2405
+ type: "uint256"
2406
+ },
2407
+ {
2408
+ internalType: "address",
2409
+ name: "to",
2410
+ type: "address"
2411
+ }
2412
+ ],
2413
+ name: "wrapTo",
2414
+ outputs: [
2415
+ {
2416
+ internalType: "uint256",
2417
+ name: "",
2418
+ type: "uint256"
2419
+ }
2420
+ ],
2421
+ stateMutability: "nonpayable",
2422
+ type: "function"
2423
+ }
2424
+ ];
2425
+ var bytecode$2 = "0x60806040523480156200001157600080fd5b5060405146908060526200217c823960520190506040518091039020600060405180828054600181600116156101000203166002900480156200008e5780601f106200006b5761010080835404028352918201916200008e565b820191906000526020600020905b81548152906001019060200180831162000079575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060860152608085018690523060a0808701919091528151808703909101815260c08601808352815191840191909120600555600780546001600160a01b0319163390811790915563ad4d4e2960e01b9091529051909463ad4d4e29945060c4808201945090829003018186803b1580156200015757600080fd5b505afa1580156200016c573d6000803e3d6000fd5b505050506040513d60208110156200018357600080fd5b5051600880546001600160a01b0319166001600160a01b039283161790819055604080516306fdde0360e01b8152905191909216916306fdde03916004808301926000929190829003018186803b158015620001de57600080fd5b505afa158015620001f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200021d57600080fd5b81019080805160405193929190846401000000008211156200023e57600080fd5b9083019060208201858111156200025457600080fd5b82516401000000008111828201881017156200026f57600080fd5b82525081516020918201929091019080838360005b838110156200029e57818101518382015260200162000284565b50505050905090810190601f168015620002cc5780820380516001836020036101000a031916815260200191505b5060405250508151620002e79260009250602001906200058a565b50600060405160200180806b02332bb902bb930b83832b2160a51b815250600c0182805460018160011615610100020316600290048015620003635780601f106200034057610100808354040283529182019162000363565b820191906000526020600020905b8154815290600101906020018083116200034e575b505060408051601f1981840301815291905280516200038d9350600092506020909101906200058a565b50600860009054906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620003dd57600080fd5b505afa158015620003f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200041c57600080fd5b81019080805160405193929190846401000000008211156200043d57600080fd5b9083019060208201858111156200045357600080fd5b82516401000000008111828201881017156200046e57600080fd5b82525081516020918201929091019080838360005b838110156200049d57818101518382015260200162000483565b50505050905090810190601f168015620004cb5780820380516001836020036101000a031916815260200191505b5060405250508151620004e69260019250602001906200058a565b506001604051602001808061667760f01b81525060020182805460018160011615610100020316600290048015620005585780601f106200053557610100808354040283529182019162000558565b820191906000526020600020905b81548152906001019060200180831162000543575b505060408051601f198184030181529190528051620005829350600192506020909101906200058a565b50506200062f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005cd57805160ff1916838001178555620005fd565b82800160010185558215620005fd579182015b82811115620005fd578251825591602001919060010190620005e0565b506200060b9291506200060f565b5090565b6200062c91905b808211156200060b576000815560010162000616565b90565b611b3d806200063f6000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806370a08231116100d8578063c45a01551161008c578063de0e9a3e11610066578063de0e9a3e14610550578063ea598cb01461056d578063fc0c546a1461058a57610182565b8063c45a015514610486578063d505accf146104b7578063dd62ed3e1461051557610182565b80637ecebe00116100bd5780637ecebe001461041257806395d89b4114610445578063a9059cbb1461044d57610182565b806370a08231146103a657806379cc6790146103d957610182565b806330adf81f1161013a57806340c10f191161011457806340c10f191461031557806342966c68146103505780635dbd60591461036d57610182565b806330adf81f146102e7578063313ce567146102ef5780633644e5151461030d57610182565b806318160ddd1161016b57806318160ddd1461025157806323b872dd1461026b57806326599850146102ae57610182565b806306fdde0314610187578063095ea7b314610204575b600080fd5b61018f610592565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c95781810151838201526020016101b1565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023d6004803603604081101561021a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561063e565b604080519115158252519081900360200190f35b610259610655565b60408051918252519081900360200190f35b61023d6004803603606081101561028157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561065b565b610259600480360360408110156102c457600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff1661073a565b61025961082d565b6102f7610851565b6040805160ff9092168252519081900360200190f35b610259610856565b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561085c565b005b61034e6004803603602081101561036657600080fd5b5035610b50565b6102596004803603604081101561038357600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610b94565b610259600480360360208110156103bc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c70565b61034e600480360360408110156103ef57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610c82565b6102596004803603602081101561042857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f76565b61018f610f88565b61023d6004803603604081101561046357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611000565b61048e61100d565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61034e600480360360e08110156104cd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611029565b6102596004803603604081101561052b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166112f5565b6102596004803603602081101561056657600080fd5b5035611312565b6102596004803603602081101561058357600080fd5b503561131e565b61048e61132a565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106365780601f1061060b57610100808354040283529160200191610636565b820191906000526020600020905b81548152906001019060200180831161061957829003601f168201915b505050505081565b600061064b338484611346565b5060015b92915050565b60025481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146107255773ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020546106f3908363ffffffff6113b516565b73ffffffffffffffffffffffffffffffffffffffff851660009081526004602090815260408083203384529091529020555b610730848484611427565b5060019392505050565b60008083116107aa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4665773a2063616e27742077726170207a65726f20746f6b656e000000000000604482015290519081900360640190fd5b6008546107cf9073ffffffffffffffffffffffffffffffffffffffff16333086611508565b6107d982846116d8565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917feb5580a0908e96b78bdcb1a3c5638793b491a6073c3ff56061a069cb205817739181900360200190a35090919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60055481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c457600080fd5b505afa1580156108d8573d6000803e3d6000fd5b505050506040513d60208110156108ee57600080fd5b5051604080517faa271e1a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163aa271e1a91602480820192602092909190829003018186803b15801561095e57600080fd5b505afa158015610972573d6000803e3d6000fd5b505050506040513d602081101561098857600080fd5b50516109f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206d696e74657200604482015290519081900360640190fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a5d57600080fd5b505afa158015610a71573d6000803e3d6000fd5b505050506040513d6020811015610a8757600080fd5b505115610af557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610aff82826116d8565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fbcad3d7d3dfccb90d49c6063bf70f828901fefc88937d90af74e58e6e55bc39d9181900360200190a35050565b610b5a3382611789565b604080518281529051339182917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a350565b6000808311610bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611ab86023913960400191505060405180910390fd5b610bf83384611789565b600854610c1c9073ffffffffffffffffffffffffffffffffffffffff16838561184d565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917f12d6424519838e57637c6db9df31af32d7926ff0a53dd37007c191d0fe3028189181900360200190a35090919050565b60036020526000908152604090205481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d6020811015610d1457600080fd5b5051604080517f4334614a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691634334614a91602480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b5051610e1b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206275726e657200604482015290519081900360640190fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8357600080fd5b505afa158015610e97573d6000803e3d6000fd5b505050506040513d6020811015610ead57600080fd5b505115610f1b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610f258282611789565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a35050565b60066020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106365780601f1061060b57610100808354040283529160200191610636565b600061064b338484611427565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b4284101561109857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4665773a20455850495245440000000000000000000000000000000000000000604482015290519081900360640190fd5b60055473ffffffffffffffffffffffffffffffffffffffff80891660008181526006602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa1580156111f9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061127457508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6112df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665773a20494e56414c49445f5349474e415455524500000000000000000000604482015290519081900360640190fd5b6112ea898989611346565b505050505050505050565b600460209081526000928352604080842090915290825290205481565b600061064f8233610b94565b600061064f823361073a565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561064f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604090205461145d908263ffffffff6113b516565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260036020526040808220939093559084168152205461149f908263ffffffff611a1416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b602083106115e657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016115a9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611648576040519150601f19603f3d011682016040523d82523d6000602084013e61164d565b606091505b509150915081801561167b57508051158061167b575080806020019051602081101561167857600080fd5b50515b6116d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611a876031913960400191505060405180910390fd5b505050505050565b6002546116eb908263ffffffff611a1416565b60025573ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054611724908263ffffffff611a1416565b73ffffffffffffffffffffffffffffffffffffffff831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260409020546117bf908263ffffffff6113b516565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260409020556002546117f8908263ffffffff6113b516565b60025560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b6020831061192357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016118e6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611985576040519150601f19603f3d011682016040523d82523d6000602084013e61198a565b606091505b50915091508180156119b85750805115806119b857508080602001905160208110156119b557600080fd5b50515b611a0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611adb602d913960400191505060405180910390fd5b5050505050565b8082018281101561064f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c65644665773a207a65726f20616d6f756e7420756e77726170206e6f7420616c6c6f7765645472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a2646970667358221220fb4d68ddfdf6276ca4a2c32195454555ebea54885be43587198200c3a63be11964736f6c63430006060033454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429";
2426
+ var deployedBytecode$2 = "0x608060405234801561001057600080fd5b50600436106101825760003560e01c806370a08231116100d8578063c45a01551161008c578063de0e9a3e11610066578063de0e9a3e14610550578063ea598cb01461056d578063fc0c546a1461058a57610182565b8063c45a015514610486578063d505accf146104b7578063dd62ed3e1461051557610182565b80637ecebe00116100bd5780637ecebe001461041257806395d89b4114610445578063a9059cbb1461044d57610182565b806370a08231146103a657806379cc6790146103d957610182565b806330adf81f1161013a57806340c10f191161011457806340c10f191461031557806342966c68146103505780635dbd60591461036d57610182565b806330adf81f146102e7578063313ce567146102ef5780633644e5151461030d57610182565b806318160ddd1161016b57806318160ddd1461025157806323b872dd1461026b57806326599850146102ae57610182565b806306fdde0314610187578063095ea7b314610204575b600080fd5b61018f610592565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c95781810151838201526020016101b1565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023d6004803603604081101561021a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561063e565b604080519115158252519081900360200190f35b610259610655565b60408051918252519081900360200190f35b61023d6004803603606081101561028157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561065b565b610259600480360360408110156102c457600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff1661073a565b61025961082d565b6102f7610851565b6040805160ff9092168252519081900360200190f35b610259610856565b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561085c565b005b61034e6004803603602081101561036657600080fd5b5035610b50565b6102596004803603604081101561038357600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610b94565b610259600480360360208110156103bc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c70565b61034e600480360360408110156103ef57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610c82565b6102596004803603602081101561042857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f76565b61018f610f88565b61023d6004803603604081101561046357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611000565b61048e61100d565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61034e600480360360e08110156104cd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611029565b6102596004803603604081101561052b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166112f5565b6102596004803603602081101561056657600080fd5b5035611312565b6102596004803603602081101561058357600080fd5b503561131e565b61048e61132a565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106365780601f1061060b57610100808354040283529160200191610636565b820191906000526020600020905b81548152906001019060200180831161061957829003601f168201915b505050505081565b600061064b338484611346565b5060015b92915050565b60025481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146107255773ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020546106f3908363ffffffff6113b516565b73ffffffffffffffffffffffffffffffffffffffff851660009081526004602090815260408083203384529091529020555b610730848484611427565b5060019392505050565b60008083116107aa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4665773a2063616e27742077726170207a65726f20746f6b656e000000000000604482015290519081900360640190fd5b6008546107cf9073ffffffffffffffffffffffffffffffffffffffff16333086611508565b6107d982846116d8565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917feb5580a0908e96b78bdcb1a3c5638793b491a6073c3ff56061a069cb205817739181900360200190a35090919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60055481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c457600080fd5b505afa1580156108d8573d6000803e3d6000fd5b505050506040513d60208110156108ee57600080fd5b5051604080517faa271e1a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163aa271e1a91602480820192602092909190829003018186803b15801561095e57600080fd5b505afa158015610972573d6000803e3d6000fd5b505050506040513d602081101561098857600080fd5b50516109f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206d696e74657200604482015290519081900360640190fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a5d57600080fd5b505afa158015610a71573d6000803e3d6000fd5b505050506040513d6020811015610a8757600080fd5b505115610af557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610aff82826116d8565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fbcad3d7d3dfccb90d49c6063bf70f828901fefc88937d90af74e58e6e55bc39d9181900360200190a35050565b610b5a3382611789565b604080518281529051339182917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a350565b6000808311610bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611ab86023913960400191505060405180910390fd5b610bf83384611789565b600854610c1c9073ffffffffffffffffffffffffffffffffffffffff16838561184d565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917f12d6424519838e57637c6db9df31af32d7926ff0a53dd37007c191d0fe3028189181900360200190a35090919050565b60036020526000908152604090205481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d6020811015610d1457600080fd5b5051604080517f4334614a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691634334614a91602480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b5051610e1b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206275726e657200604482015290519081900360640190fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8357600080fd5b505afa158015610e97573d6000803e3d6000fd5b505050506040513d6020811015610ead57600080fd5b505115610f1b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610f258282611789565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a35050565b60066020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106365780601f1061060b57610100808354040283529160200191610636565b600061064b338484611427565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b4284101561109857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4665773a20455850495245440000000000000000000000000000000000000000604482015290519081900360640190fd5b60055473ffffffffffffffffffffffffffffffffffffffff80891660008181526006602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa1580156111f9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061127457508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6112df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665773a20494e56414c49445f5349474e415455524500000000000000000000604482015290519081900360640190fd5b6112ea898989611346565b505050505050505050565b600460209081526000928352604080842090915290825290205481565b600061064f8233610b94565b600061064f823361073a565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561064f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604090205461145d908263ffffffff6113b516565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260036020526040808220939093559084168152205461149f908263ffffffff611a1416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b602083106115e657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016115a9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611648576040519150601f19603f3d011682016040523d82523d6000602084013e61164d565b606091505b509150915081801561167b57508051158061167b575080806020019051602081101561167857600080fd5b50515b6116d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611a876031913960400191505060405180910390fd5b505050505050565b6002546116eb908263ffffffff611a1416565b60025573ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040902054611724908263ffffffff611a1416565b73ffffffffffffffffffffffffffffffffffffffff831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260409020546117bf908263ffffffff6113b516565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260409020556002546117f8908263ffffffff6113b516565b60025560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b6020831061192357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016118e6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611985576040519150601f19603f3d011682016040523d82523d6000602084013e61198a565b606091505b50915091508180156119b85750805115806119b857508080602001905160208110156119b557600080fd5b50515b611a0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611adb602d913960400191505060405180910390fd5b5050505050565b8082018281101561064f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c65644665773a207a65726f20616d6f756e7420756e77726170206e6f7420616c6c6f7765645472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a2646970667358221220fb4d68ddfdf6276ca4a2c32195454555ebea54885be43587198200c3a63be11964736f6c63430006060033";
2427
+ var linkReferences$2 = {
2428
+ };
2429
+ var deployedLinkReferences$2 = {
2430
+ };
2431
+ var EVMIFewWrappedTokenJSON = {
2432
+ _format: _format$2,
2433
+ contractName: contractName$2,
2434
+ sourceName: sourceName$2,
2435
+ abi: abi$2,
2436
+ bytecode: bytecode$2,
2437
+ deployedBytecode: deployedBytecode$2,
2438
+ linkReferences: linkReferences$2,
2439
+ deployedLinkReferences: deployedLinkReferences$2
2440
+ };
2441
+
2442
+ var _format$3 = "hh-sol-artifact-1";
2443
+ var contractName$3 = "FewWrappedToken";
2444
+ var sourceName$3 = "contracts/FewWrappedToken.sol";
2445
+ var abi$3 = [
2446
+ {
2447
+ inputs: [
2448
+ ],
2449
+ stateMutability: "nonpayable",
2450
+ type: "constructor"
2451
+ },
2452
+ {
2453
+ anonymous: false,
2454
+ inputs: [
2455
+ {
2456
+ indexed: true,
2457
+ internalType: "address",
2458
+ name: "owner",
2459
+ type: "address"
2460
+ },
2461
+ {
2462
+ indexed: true,
2463
+ internalType: "address",
2464
+ name: "spender",
2465
+ type: "address"
2466
+ },
2467
+ {
2468
+ indexed: false,
2469
+ internalType: "uint256",
2470
+ name: "value",
2471
+ type: "uint256"
2472
+ }
2473
+ ],
2474
+ name: "Approval",
2475
+ type: "event"
2476
+ },
2477
+ {
2478
+ anonymous: false,
2479
+ inputs: [
2480
+ {
2481
+ indexed: true,
2482
+ internalType: "address",
2483
+ name: "burner",
2484
+ type: "address"
2485
+ },
2486
+ {
2487
+ indexed: false,
2488
+ internalType: "uint256",
2489
+ name: "amount",
2490
+ type: "uint256"
2491
+ },
2492
+ {
2493
+ indexed: true,
2494
+ internalType: "address",
2495
+ name: "to",
2496
+ type: "address"
2497
+ }
2498
+ ],
2499
+ name: "Burn",
2500
+ type: "event"
2501
+ },
2502
+ {
2503
+ anonymous: false,
2504
+ inputs: [
2505
+ {
2506
+ indexed: true,
2507
+ internalType: "address",
2508
+ name: "minter",
2509
+ type: "address"
2510
+ },
2511
+ {
2512
+ indexed: false,
2513
+ internalType: "uint256",
2514
+ name: "amount",
2515
+ type: "uint256"
2516
+ },
2517
+ {
2518
+ indexed: true,
2519
+ internalType: "address",
2520
+ name: "to",
2521
+ type: "address"
2522
+ }
2523
+ ],
2524
+ name: "Mint",
2525
+ type: "event"
2526
+ },
2527
+ {
2528
+ anonymous: false,
2529
+ inputs: [
2530
+ {
2531
+ indexed: true,
2532
+ internalType: "address",
2533
+ name: "from",
2534
+ type: "address"
2535
+ },
2536
+ {
2537
+ indexed: true,
2538
+ internalType: "address",
2539
+ name: "to",
2540
+ type: "address"
2541
+ },
2542
+ {
2543
+ indexed: false,
2544
+ internalType: "uint256",
2545
+ name: "value",
2546
+ type: "uint256"
2547
+ }
2548
+ ],
2549
+ name: "Transfer",
2550
+ type: "event"
2551
+ },
2552
+ {
2553
+ anonymous: false,
2554
+ inputs: [
2555
+ {
2556
+ indexed: true,
2557
+ internalType: "address",
2558
+ name: "sender",
2559
+ type: "address"
2560
+ },
2561
+ {
2562
+ indexed: false,
2563
+ internalType: "uint256",
2564
+ name: "amount",
2565
+ type: "uint256"
2566
+ },
2567
+ {
2568
+ indexed: true,
2569
+ internalType: "address",
2570
+ name: "to",
2571
+ type: "address"
2572
+ }
2573
+ ],
2574
+ name: "Unwrap",
2575
+ type: "event"
2576
+ },
2577
+ {
2578
+ anonymous: false,
2579
+ inputs: [
2580
+ {
2581
+ indexed: true,
2582
+ internalType: "address",
2583
+ name: "sender",
2584
+ type: "address"
2585
+ },
2586
+ {
2587
+ indexed: false,
2588
+ internalType: "uint256",
2589
+ name: "amount",
2590
+ type: "uint256"
2591
+ },
2592
+ {
2593
+ indexed: true,
2594
+ internalType: "address",
2595
+ name: "to",
2596
+ type: "address"
2597
+ }
2598
+ ],
2599
+ name: "Wrap",
2600
+ type: "event"
2601
+ },
2602
+ {
2603
+ inputs: [
2604
+ ],
2605
+ name: "DOMAIN_SEPARATOR",
2606
+ outputs: [
2607
+ {
2608
+ internalType: "bytes32",
2609
+ name: "",
2610
+ type: "bytes32"
2611
+ }
2612
+ ],
2613
+ stateMutability: "view",
2614
+ type: "function"
2615
+ },
2616
+ {
2617
+ inputs: [
2618
+ ],
2619
+ name: "PERMIT_TYPEHASH",
2620
+ outputs: [
2621
+ {
2622
+ internalType: "bytes32",
2623
+ name: "",
2624
+ type: "bytes32"
2625
+ }
2626
+ ],
2627
+ stateMutability: "view",
2628
+ type: "function"
2629
+ },
2630
+ {
2631
+ inputs: [
2632
+ {
2633
+ internalType: "address",
2634
+ name: "",
2635
+ type: "address"
2636
+ },
2637
+ {
2638
+ internalType: "address",
2639
+ name: "",
2640
+ type: "address"
2641
+ }
2642
+ ],
2643
+ name: "allowance",
2644
+ outputs: [
2645
+ {
2646
+ internalType: "uint256",
2647
+ name: "",
2648
+ type: "uint256"
2649
+ }
2650
+ ],
2651
+ stateMutability: "view",
2652
+ type: "function"
2653
+ },
2654
+ {
2655
+ inputs: [
2656
+ {
2657
+ internalType: "address",
2658
+ name: "spender",
2659
+ type: "address"
2660
+ },
2661
+ {
2662
+ internalType: "uint256",
2663
+ name: "value",
2664
+ type: "uint256"
2665
+ }
2666
+ ],
2667
+ name: "approve",
2668
+ outputs: [
2669
+ {
2670
+ internalType: "bool",
2671
+ name: "",
2672
+ type: "bool"
2673
+ }
2674
+ ],
2675
+ stateMutability: "nonpayable",
2676
+ type: "function"
2677
+ },
2678
+ {
2679
+ inputs: [
2680
+ {
2681
+ internalType: "address",
2682
+ name: "",
2683
+ type: "address"
2684
+ }
2685
+ ],
2686
+ name: "balanceOf",
2687
+ outputs: [
2688
+ {
2689
+ internalType: "uint256",
2690
+ name: "",
2691
+ type: "uint256"
2692
+ }
2693
+ ],
2694
+ stateMutability: "view",
2695
+ type: "function"
2696
+ },
2697
+ {
2698
+ inputs: [
2699
+ {
2700
+ internalType: "uint256",
2701
+ name: "amount",
2702
+ type: "uint256"
2703
+ }
2704
+ ],
2705
+ name: "burn",
2706
+ outputs: [
2707
+ ],
2708
+ stateMutability: "nonpayable",
2709
+ type: "function"
2710
+ },
2711
+ {
2712
+ inputs: [
2713
+ {
2714
+ internalType: "address",
2715
+ name: "account",
2716
+ type: "address"
2717
+ },
2718
+ {
2719
+ internalType: "uint256",
2720
+ name: "amount",
2721
+ type: "uint256"
2722
+ }
2723
+ ],
2724
+ name: "burnFrom",
2725
+ outputs: [
2726
+ ],
2727
+ stateMutability: "nonpayable",
2728
+ type: "function"
2729
+ },
2730
+ {
2731
+ inputs: [
2732
+ ],
2733
+ name: "decimals",
2734
+ outputs: [
2735
+ {
2736
+ internalType: "uint8",
2737
+ name: "",
2738
+ type: "uint8"
2739
+ }
2740
+ ],
2741
+ stateMutability: "view",
2742
+ type: "function"
2743
+ },
2744
+ {
2745
+ inputs: [
2746
+ ],
2747
+ name: "factory",
2748
+ outputs: [
2749
+ {
2750
+ internalType: "address",
2751
+ name: "",
2752
+ type: "address"
2753
+ }
2754
+ ],
2755
+ stateMutability: "view",
2756
+ type: "function"
2757
+ },
2758
+ {
2759
+ inputs: [
2760
+ {
2761
+ internalType: "address",
2762
+ name: "account",
2763
+ type: "address"
2764
+ },
2765
+ {
2766
+ internalType: "uint256",
2767
+ name: "amount",
2768
+ type: "uint256"
2769
+ }
2770
+ ],
2771
+ name: "mint",
2772
+ outputs: [
2773
+ ],
2774
+ stateMutability: "nonpayable",
2775
+ type: "function"
2776
+ },
2777
+ {
2778
+ inputs: [
2779
+ ],
2780
+ name: "name",
2781
+ outputs: [
2782
+ {
2783
+ internalType: "string",
2784
+ name: "",
2785
+ type: "string"
2786
+ }
2787
+ ],
2788
+ stateMutability: "view",
2789
+ type: "function"
2790
+ },
2791
+ {
2792
+ inputs: [
2793
+ {
2794
+ internalType: "address",
2795
+ name: "",
2796
+ type: "address"
2797
+ }
2798
+ ],
2799
+ name: "nonces",
2800
+ outputs: [
2801
+ {
2802
+ internalType: "uint256",
2803
+ name: "",
2804
+ type: "uint256"
2805
+ }
2806
+ ],
2807
+ stateMutability: "view",
2808
+ type: "function"
2809
+ },
2810
+ {
2811
+ inputs: [
2812
+ {
2813
+ internalType: "address",
2814
+ name: "owner",
2815
+ type: "address"
2816
+ },
2817
+ {
2818
+ internalType: "address",
2819
+ name: "spender",
2820
+ type: "address"
2821
+ },
2822
+ {
2823
+ internalType: "uint256",
2824
+ name: "value",
2825
+ type: "uint256"
2826
+ },
2827
+ {
2828
+ internalType: "uint256",
2829
+ name: "deadline",
2830
+ type: "uint256"
2831
+ },
2832
+ {
2833
+ internalType: "uint8",
2834
+ name: "v",
2835
+ type: "uint8"
2836
+ },
2837
+ {
2838
+ internalType: "bytes32",
2839
+ name: "r",
2840
+ type: "bytes32"
2841
+ },
2842
+ {
2843
+ internalType: "bytes32",
2844
+ name: "s",
2845
+ type: "bytes32"
2846
+ }
2847
+ ],
2848
+ name: "permit",
2849
+ outputs: [
2850
+ ],
2851
+ stateMutability: "nonpayable",
2852
+ type: "function"
2853
+ },
2854
+ {
2855
+ inputs: [
2856
+ ],
2857
+ name: "symbol",
2858
+ outputs: [
2859
+ {
2860
+ internalType: "string",
2861
+ name: "",
2862
+ type: "string"
2863
+ }
2864
+ ],
2865
+ stateMutability: "view",
2866
+ type: "function"
2867
+ },
2868
+ {
2869
+ inputs: [
2870
+ ],
2871
+ name: "token",
2872
+ outputs: [
2873
+ {
2874
+ internalType: "address",
2875
+ name: "",
2876
+ type: "address"
2877
+ }
2878
+ ],
2879
+ stateMutability: "view",
2880
+ type: "function"
2881
+ },
2882
+ {
2883
+ inputs: [
2884
+ ],
2885
+ name: "totalSupply",
2886
+ outputs: [
2887
+ {
2888
+ internalType: "uint256",
2889
+ name: "",
2890
+ type: "uint256"
2891
+ }
2892
+ ],
2893
+ stateMutability: "view",
2894
+ type: "function"
2895
+ },
2896
+ {
2897
+ inputs: [
2898
+ {
2899
+ internalType: "address",
2900
+ name: "to",
2901
+ type: "address"
2902
+ },
2903
+ {
2904
+ internalType: "uint256",
2905
+ name: "value",
2906
+ type: "uint256"
2907
+ }
2908
+ ],
2909
+ name: "transfer",
2910
+ outputs: [
2911
+ {
2912
+ internalType: "bool",
2913
+ name: "",
2914
+ type: "bool"
2915
+ }
2916
+ ],
2917
+ stateMutability: "nonpayable",
2918
+ type: "function"
2919
+ },
2920
+ {
2921
+ inputs: [
2922
+ {
2923
+ internalType: "address",
2924
+ name: "from",
2925
+ type: "address"
2926
+ },
2927
+ {
2928
+ internalType: "address",
2929
+ name: "to",
2930
+ type: "address"
2931
+ },
2932
+ {
2933
+ internalType: "uint256",
2934
+ name: "value",
2935
+ type: "uint256"
2936
+ }
2937
+ ],
2938
+ name: "transferFrom",
2939
+ outputs: [
2940
+ {
2941
+ internalType: "bool",
2942
+ name: "",
2943
+ type: "bool"
2944
+ }
2945
+ ],
2946
+ stateMutability: "nonpayable",
2947
+ type: "function"
2948
+ },
2949
+ {
2950
+ inputs: [
2951
+ {
2952
+ internalType: "uint256",
2953
+ name: "amount",
2954
+ type: "uint256"
2955
+ }
2956
+ ],
2957
+ name: "unwrap",
2958
+ outputs: [
2959
+ {
2960
+ internalType: "uint256",
2961
+ name: "",
2962
+ type: "uint256"
2963
+ }
2964
+ ],
2965
+ stateMutability: "nonpayable",
2966
+ type: "function"
2967
+ },
2968
+ {
2969
+ inputs: [
2970
+ {
2971
+ internalType: "uint256",
2972
+ name: "amount",
2973
+ type: "uint256"
2974
+ },
2975
+ {
2976
+ internalType: "address",
2977
+ name: "to",
2978
+ type: "address"
2979
+ }
2980
+ ],
2981
+ name: "unwrapTo",
2982
+ outputs: [
2983
+ {
2984
+ internalType: "uint256",
2985
+ name: "",
2986
+ type: "uint256"
2987
+ }
2988
+ ],
2989
+ stateMutability: "nonpayable",
2990
+ type: "function"
2991
+ },
2992
+ {
2993
+ inputs: [
2994
+ {
2995
+ internalType: "uint256",
2996
+ name: "amount",
2997
+ type: "uint256"
2998
+ }
2999
+ ],
3000
+ name: "wrap",
3001
+ outputs: [
3002
+ {
3003
+ internalType: "uint256",
3004
+ name: "",
3005
+ type: "uint256"
3006
+ }
3007
+ ],
3008
+ stateMutability: "nonpayable",
3009
+ type: "function"
3010
+ },
3011
+ {
3012
+ inputs: [
3013
+ {
3014
+ internalType: "uint256",
3015
+ name: "amount",
3016
+ type: "uint256"
3017
+ },
3018
+ {
3019
+ internalType: "address",
3020
+ name: "to",
3021
+ type: "address"
3022
+ }
3023
+ ],
3024
+ name: "wrapTo",
3025
+ outputs: [
3026
+ {
3027
+ internalType: "uint256",
3028
+ name: "",
3029
+ type: "uint256"
3030
+ }
3031
+ ],
3032
+ stateMutability: "nonpayable",
3033
+ type: "function"
3034
+ }
3035
+ ];
3036
+ var bytecode$3 = "0x60806040523480156200001157600080fd5b50600880546001600160a01b031916339081179091556040805163ad4d4e2960e01b8152905146929163ad4d4e29916004808301926020929190829003018186803b1580156200006057600080fd5b505afa15801562000075573d6000803e3d6000fd5b505050506040513d60208110156200008c57600080fd5b5051600980546001600160a01b0319166001600160a01b039283161790819055604080516306fdde0360e01b8152905191909216916306fdde03916004808301926000929190829003018186803b158015620000e757600080fd5b505afa158015620000fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200012657600080fd5b81019080805160405193929190846401000000008211156200014757600080fd5b9083019060208201858111156200015d57600080fd5b82516401000000008111828201881017156200017857600080fd5b82525081516020918201929091019080838360005b83811015620001a75781810151838201526020016200018d565b50505050905090810190601f168015620001d55780820380516001836020036101000a031916815260200191505b5060405250505060405160200180806b02332bb902bb930b83832b2160a51b815250600c0182805190602001908083835b60208310620002275780518252601f19909201916020918201910162000206565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526000908051906020019062000272929190620005d5565b50600960009054906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620002c257600080fd5b505afa158015620002d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156200030157600080fd5b81019080805160405193929190846401000000008211156200032257600080fd5b9083019060208201858111156200033857600080fd5b82516401000000008111828201881017156200035357600080fd5b82525081516020918201929091019080838360005b838110156200038257818101518382015260200162000368565b50505050905090810190601f168015620003b05780820380516001836020036101000a031916815260200191505b50604052505050604051602001808061667760f01b81525060020182805190602001908083835b60208310620003f85780518252601f199092019160209182019101620003d7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526001908051906020019062000443929190620005d5565b50600960009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156200049357600080fd5b505afa158015620004a8573d6000803e3d6000fd5b505050506040513d6020811015620004bf57600080fd5b50516002805460ff191660ff909216919091179055604051806052620021cb823960520190506040518091039020600060405180828054600181600116156101000203166002900480156200054e5780601f106200052b5761010080835404028352918201916200054e565b820191906000526020600020905b81548152906001019060200180831162000539575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a0808601919091528551808603909101815260c0909401909452505080519101206006556200067a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200061857805160ff191683800117855562000648565b8280016001018555821562000648579182015b82811115620006485782518255916020019190600101906200062b565b50620006569291506200065a565b5090565b6200067791905b8082111562000656576000815560010162000661565b90565b611b41806200068a6000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806370a08231116100d8578063c45a01551161008c578063de0e9a3e11610066578063de0e9a3e14610550578063ea598cb01461056d578063fc0c546a1461058a57610182565b8063c45a015514610486578063d505accf146104b7578063dd62ed3e1461051557610182565b80637ecebe00116100bd5780637ecebe001461041257806395d89b4114610445578063a9059cbb1461044d57610182565b806370a08231146103a657806379cc6790146103d957610182565b806330adf81f1161013a57806340c10f191161011457806340c10f191461031557806342966c68146103505780635dbd60591461036d57610182565b806330adf81f146102e7578063313ce567146102ef5780633644e5151461030d57610182565b806318160ddd1161016b57806318160ddd1461025157806323b872dd1461026b57806326599850146102ae57610182565b806306fdde0314610187578063095ea7b314610204575b600080fd5b61018f610592565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c95781810151838201526020016101b1565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023d6004803603604081101561021a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561063e565b604080519115158252519081900360200190f35b610259610655565b60408051918252519081900360200190f35b61023d6004803603606081101561028157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561065b565b610259600480360360408110156102c457600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff1661073a565b61025961082d565b6102f7610851565b6040805160ff9092168252519081900360200190f35b61025961085a565b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610860565b005b61034e6004803603602081101561036657600080fd5b5035610b54565b6102596004803603604081101561038357600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610b98565b610259600480360360208110156103bc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c74565b61034e600480360360408110156103ef57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610c86565b6102596004803603602081101561042857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f7a565b61018f610f8c565b61023d6004803603604081101561046357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611004565b61048e611011565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61034e600480360360e08110156104cd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561102d565b6102596004803603604081101561052b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166112f9565b6102596004803603602081101561056657600080fd5b5035611316565b6102596004803603602081101561058357600080fd5b5035611322565b61048e61132e565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106365780601f1061060b57610100808354040283529160200191610636565b820191906000526020600020905b81548152906001019060200180831161061957829003601f168201915b505050505081565b600061064b33848461134a565b5060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146107255773ffffffffffffffffffffffffffffffffffffffff841660009081526005602090815260408083203384529091529020546106f3908363ffffffff6113b916565b73ffffffffffffffffffffffffffffffffffffffff851660009081526005602090815260408083203384529091529020555b61073084848461142b565b5060019392505050565b60008083116107aa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4665773a2063616e27742077726170207a65726f20746f6b656e000000000000604482015290519081900360640190fd5b6009546107cf9073ffffffffffffffffffffffffffffffffffffffff1633308661150c565b6107d982846116dc565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917feb5580a0908e96b78bdcb1a3c5638793b491a6073c3ff56061a069cb205817739181900360200190a35090919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025460ff1681565b60065481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c857600080fd5b505afa1580156108dc573d6000803e3d6000fd5b505050506040513d60208110156108f257600080fd5b5051604080517faa271e1a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163aa271e1a91602480820192602092909190829003018186803b15801561096257600080fd5b505afa158015610976573d6000803e3d6000fd5b505050506040513d602081101561098c57600080fd5b50516109f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206d696e74657200604482015290519081900360640190fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6157600080fd5b505afa158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b505115610af957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610b0382826116dc565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fbcad3d7d3dfccb90d49c6063bf70f828901fefc88937d90af74e58e6e55bc39d9181900360200190a35050565b610b5e338261178d565b604080518281529051339182917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a350565b6000808311610bf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611abc6023913960400191505060405180910390fd5b610bfc338461178d565b600954610c209073ffffffffffffffffffffffffffffffffffffffff168385611851565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917f12d6424519838e57637c6db9df31af32d7926ff0a53dd37007c191d0fe3028189181900360200190a35090919050565b60046020526000908152604090205481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015610cee57600080fd5b505afa158015610d02573d6000803e3d6000fd5b505050506040513d6020811015610d1857600080fd5b5051604080517f4334614a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691634334614a91602480820192602092909190829003018186803b158015610d8857600080fd5b505afa158015610d9c573d6000803e3d6000fd5b505050506040513d6020811015610db257600080fd5b5051610e1f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206275726e657200604482015290519081900360640190fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8757600080fd5b505afa158015610e9b573d6000803e3d6000fd5b505050506040513d6020811015610eb157600080fd5b505115610f1f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610f29828261178d565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a35050565b60076020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106365780601f1061060b57610100808354040283529160200191610636565b600061064b33848461142b565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b4284101561109c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4665773a20455850495245440000000000000000000000000000000000000000604482015290519081900360640190fd5b60065473ffffffffffffffffffffffffffffffffffffffff80891660008181526007602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa1580156111fd573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061127857508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6112e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665773a20494e56414c49445f5349474e415455524500000000000000000000604482015290519081900360640190fd5b6112ee89898961134a565b505050505050505050565b600560209081526000928352604080842090915290825290205481565b600061064f8233610b98565b600061064f823361073a565b60095473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561064f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260046020526040902054611461908263ffffffff6113b916565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526004602052604080822093909355908416815220546114a3908263ffffffff611a1816565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526004602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b602083106115ea57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016115ad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461164c576040519150601f19603f3d011682016040523d82523d6000602084013e611651565b606091505b509150915081801561167f57508051158061167f575080806020019051602081101561167c57600080fd5b50515b6116d4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611a8b6031913960400191505060405180910390fd5b505050505050565b6003546116ef908263ffffffff611a1816565b60035573ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040902054611728908263ffffffff611a1816565b73ffffffffffffffffffffffffffffffffffffffff831660008181526004602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600460205260409020546117c3908263ffffffff6113b916565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600460205260409020556003546117fc908263ffffffff6113b916565b60035560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b6020831061192757805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016118ea565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611989576040519150601f19603f3d011682016040523d82523d6000602084013e61198e565b606091505b50915091508180156119bc5750805115806119bc57508080602001905160208110156119b957600080fd5b50515b611a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611adf602d913960400191505060405180910390fd5b5050505050565b8082018281101561064f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c65644665773a207a65726f20616d6f756e7420756e77726170206e6f7420616c6c6f7765645472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a2646970667358221220a6e8991d1c9bb458886caf6747ba791abf4d04a0ed92291519c07b76fb5e6db664736f6c63430006060033454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429";
3037
+ var deployedBytecode$3 = "0x608060405234801561001057600080fd5b50600436106101825760003560e01c806370a08231116100d8578063c45a01551161008c578063de0e9a3e11610066578063de0e9a3e14610550578063ea598cb01461056d578063fc0c546a1461058a57610182565b8063c45a015514610486578063d505accf146104b7578063dd62ed3e1461051557610182565b80637ecebe00116100bd5780637ecebe001461041257806395d89b4114610445578063a9059cbb1461044d57610182565b806370a08231146103a657806379cc6790146103d957610182565b806330adf81f1161013a57806340c10f191161011457806340c10f191461031557806342966c68146103505780635dbd60591461036d57610182565b806330adf81f146102e7578063313ce567146102ef5780633644e5151461030d57610182565b806318160ddd1161016b57806318160ddd1461025157806323b872dd1461026b57806326599850146102ae57610182565b806306fdde0314610187578063095ea7b314610204575b600080fd5b61018f610592565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c95781810151838201526020016101b1565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023d6004803603604081101561021a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561063e565b604080519115158252519081900360200190f35b610259610655565b60408051918252519081900360200190f35b61023d6004803603606081101561028157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561065b565b610259600480360360408110156102c457600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff1661073a565b61025961082d565b6102f7610851565b6040805160ff9092168252519081900360200190f35b61025961085a565b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610860565b005b61034e6004803603602081101561036657600080fd5b5035610b54565b6102596004803603604081101561038357600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16610b98565b610259600480360360208110156103bc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c74565b61034e600480360360408110156103ef57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610c86565b6102596004803603602081101561042857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f7a565b61018f610f8c565b61023d6004803603604081101561046357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611004565b61048e611011565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61034e600480360360e08110156104cd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561102d565b6102596004803603604081101561052b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166112f9565b6102596004803603602081101561056657600080fd5b5035611316565b6102596004803603602081101561058357600080fd5b5035611322565b61048e61132e565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106365780601f1061060b57610100808354040283529160200191610636565b820191906000526020600020905b81548152906001019060200180831161061957829003601f168201915b505050505081565b600061064b33848461134a565b5060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146107255773ffffffffffffffffffffffffffffffffffffffff841660009081526005602090815260408083203384529091529020546106f3908363ffffffff6113b916565b73ffffffffffffffffffffffffffffffffffffffff851660009081526005602090815260408083203384529091529020555b61073084848461142b565b5060019392505050565b60008083116107aa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4665773a2063616e27742077726170207a65726f20746f6b656e000000000000604482015290519081900360640190fd5b6009546107cf9073ffffffffffffffffffffffffffffffffffffffff1633308661150c565b6107d982846116dc565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917feb5580a0908e96b78bdcb1a3c5638793b491a6073c3ff56061a069cb205817739181900360200190a35090919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025460ff1681565b60065481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c857600080fd5b505afa1580156108dc573d6000803e3d6000fd5b505050506040513d60208110156108f257600080fd5b5051604080517faa271e1a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff9092169163aa271e1a91602480820192602092909190829003018186803b15801561096257600080fd5b505afa158015610976573d6000803e3d6000fd5b505050506040513d602081101561098c57600080fd5b50516109f957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206d696e74657200604482015290519081900360640190fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6157600080fd5b505afa158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b505115610af957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610b0382826116dc565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fbcad3d7d3dfccb90d49c6063bf70f828901fefc88937d90af74e58e6e55bc39d9181900360200190a35050565b610b5e338261178d565b604080518281529051339182917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a350565b6000808311610bf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611abc6023913960400191505060405180910390fd5b610bfc338461178d565b600954610c209073ffffffffffffffffffffffffffffffffffffffff168385611851565b60408051848152905173ffffffffffffffffffffffffffffffffffffffff84169133917f12d6424519838e57637c6db9df31af32d7926ff0a53dd37007c191d0fe3028189181900360200190a35090919050565b60046020526000908152604090205481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2f4eb266040518163ffffffff1660e01b815260040160206040518083038186803b158015610cee57600080fd5b505afa158015610d02573d6000803e3d6000fd5b505050506040513d6020811015610d1857600080fd5b5051604080517f4334614a000000000000000000000000000000000000000000000000000000008152336004820152905173ffffffffffffffffffffffffffffffffffffffff90921691634334614a91602480820192602092909190829003018186803b158015610d8857600080fd5b505afa158015610d9c573d6000803e3d6000fd5b505050506040513d6020811015610db257600080fd5b5051610e1f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f436f72655265663a2043616c6c6572206973206e6f742061206275726e657200604482015290519081900360640190fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8757600080fd5b505afa158015610e9b573d6000803e3d6000fd5b505050506040513d6020811015610eb157600080fd5b505115610f1f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f436f72655265663a2043616c6c65722069732070617573656400000000000000604482015290519081900360640190fd5b610f29828261178d565b60408051828152905173ffffffffffffffffffffffffffffffffffffffff84169133917fdbdf9b8e4b75e75b162d151ec8fc7f0561cabab5fcccfa2600be62223e4300c49181900360200190a35050565b60076020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156106365780601f1061060b57610100808354040283529160200191610636565b600061064b33848461142b565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b4284101561109c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4665773a20455850495245440000000000000000000000000000000000000000604482015290519081900360640190fd5b60065473ffffffffffffffffffffffffffffffffffffffff80891660008181526007602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa1580156111fd573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061127857508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6112e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4665773a20494e56414c49445f5349474e415455524500000000000000000000604482015290519081900360640190fd5b6112ee89898961134a565b505050505050505050565b600560209081526000928352604080842090915290825290205481565b600061064f8233610b98565b600061064f823361073a565b60095473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561064f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260046020526040902054611461908263ffffffff6113b916565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526004602052604080822093909355908416815220546114a3908263ffffffff611a1816565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526004602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b602083106115ea57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016115ad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461164c576040519150601f19603f3d011682016040523d82523d6000602084013e611651565b606091505b509150915081801561167f57508051158061167f575080806020019051602081101561167c57600080fd5b50515b6116d4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180611a8b6031913960400191505060405180910390fd5b505050505050565b6003546116ef908263ffffffff611a1816565b60035573ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040902054611728908263ffffffff611a1816565b73ffffffffffffffffffffffffffffffffffffffff831660008181526004602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600460205260409020546117c3908263ffffffff6113b916565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600460205260409020556003546117fc908263ffffffff6113b916565b60035560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b6020831061192757805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016118ea565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611989576040519150601f19603f3d011682016040523d82523d6000602084013e61198e565b606091505b50915091508180156119bc5750805115806119bc57508080602001905160208110156119b957600080fd5b50515b611a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611adf602d913960400191505060405180910390fd5b5050505050565b8082018281101561064f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c65644665773a207a65726f20616d6f756e7420756e77726170206e6f7420616c6c6f7765645472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a2646970667358221220a6e8991d1c9bb458886caf6747ba791abf4d04a0ed92291519c07b76fb5e6db664736f6c63430006060033";
3038
+ var linkReferences$3 = {
3039
+ };
3040
+ var deployedLinkReferences$3 = {
3041
+ };
3042
+ var ETHMainnetFewWrappedTokenJSON = {
3043
+ _format: _format$3,
3044
+ contractName: contractName$3,
3045
+ sourceName: sourceName$3,
3046
+ abi: abi$3,
3047
+ bytecode: bytecode$3,
3048
+ deployedBytecode: deployedBytecode$3,
3049
+ linkReferences: linkReferences$3,
3050
+ deployedLinkReferences: deployedLinkReferences$3
3051
+ };
3052
+
3053
+ var _FEW_WRAPPED_FACTORY_;
3054
+ var FEW_WRAPPED_FACTORY_CONFIGS = (_FEW_WRAPPED_FACTORY_ = {}, _FEW_WRAPPED_FACTORY_[168587773] = {
3055
+ fewWrapFactory: '0xf11788d14EbE6abF4EA02e162C75AD938F1730C1',
3056
+ bytecode: BlastIFewWrappedTokenJSON.bytecode
3057
+ }, _FEW_WRAPPED_FACTORY_[11155111] = {
3058
+ fewWrapFactory: '0x226e65279E177A779522864Ce1dE40c85E2C08A5',
3059
+ bytecode: EVMIFewWrappedTokenJSON.bytecode
3060
+ }, _FEW_WRAPPED_FACTORY_[81457] = {
3061
+ fewWrapFactory: '0x455b20131D59f01d082df1225154fDA813E8CeE9',
3062
+ bytecode: BlastIMainnetFewWrappedTokenJSON.bytecode
3063
+ }, _FEW_WRAPPED_FACTORY_[1] = {
3064
+ fewWrapFactory: '0x7D86394139bf1122E82FDF45Bb4e3b038A4464DD',
3065
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3066
+ }, _FEW_WRAPPED_FACTORY_[1301] = {
3067
+ fewWrapFactory: '0x7D86394139bf1122E82FDF45Bb4e3b038A4464DD',
3068
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3069
+ }, _FEW_WRAPPED_FACTORY_[130] = {
3070
+ fewWrapFactory: '0x974Cc3F3468cd9C12731108148C4DABFB5eE556F',
3071
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3072
+ }, _FEW_WRAPPED_FACTORY_[421614] = {
3073
+ fewWrapFactory: '0xCc7eb1f253c0A988a4754445CA8c9Ab82C704E53',
3074
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3075
+ }, _FEW_WRAPPED_FACTORY_[42161] = {
3076
+ fewWrapFactory: '0x974Cc3F3468cd9C12731108148C4DABFB5eE556F',
3077
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3078
+ }, _FEW_WRAPPED_FACTORY_[8453] = {
3079
+ fewWrapFactory: '0xb3Ad7754f363af676dC1C5be40423FE538a47920',
3080
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3081
+ }, _FEW_WRAPPED_FACTORY_[1516] = {
3082
+ fewWrapFactory: '0xCc7eb1f253c0A988a4754445CA8c9Ab82C704E53',
3083
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3084
+ }, _FEW_WRAPPED_FACTORY_[1514] = {
3085
+ fewWrapFactory: '0x974Cc3F3468cd9C12731108148C4DABFB5eE556F',
3086
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3087
+ }, _FEW_WRAPPED_FACTORY_[999] = {
3088
+ fewWrapFactory: '0x6B65ed7315274eB9EF06A48132EB04D808700b86',
3089
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3090
+ }, _FEW_WRAPPED_FACTORY_[56] = {
3091
+ fewWrapFactory: '0xEeE400Eabfba8F60f4e6B351D8577394BeB972CD',
3092
+ bytecode: ETHMainnetFewWrappedTokenJSON.bytecode
3093
+ }, _FEW_WRAPPED_FACTORY_);
3094
+ var FEW_WRAPPED_TOKEN_FACTORY_ADDRESS = function FEW_WRAPPED_TOKEN_FACTORY_ADDRESS(chainId) {
3095
+ if (!(chainId in FEW_WRAPPED_FACTORY_CONFIGS)) throw new Error("Few wrapped token address not deployed on chain " + chainId);
3096
+ return FEW_WRAPPED_FACTORY_CONFIGS[chainId].fewWrapFactory;
3097
+ };
3098
+ var FEW_WRAPPED_TOKEN_BYTECODE = function FEW_WRAPPED_TOKEN_BYTECODE(chainId) {
3099
+ if (!(chainId in FEW_WRAPPED_FACTORY_CONFIGS)) throw new Error("Few wrapped token bytecode not deployed on chain " + chainId);
3100
+ return FEW_WRAPPED_FACTORY_CONFIGS[chainId].bytecode;
3101
+ };
3102
+ var FewTokenCreator = /*#__PURE__*/function () {
3103
+ function FewTokenCreator(token, chainId) {
3104
+ this.token = token;
3105
+ this.chainId = chainId;
3106
+ }
3107
+ var _proto = FewTokenCreator.prototype;
3108
+ _proto.getFewCreate2Address = function getFewCreate2Address(token, chainId) {
3109
+ var constructorArgumentsEncoded = lib.utils.defaultAbiCoder.encode(['address'], [token]);
3110
+ var create2Inputs = ['0xff', FEW_WRAPPED_TOKEN_FACTORY_ADDRESS(chainId),
3111
+ // salt
3112
+ lib.utils.keccak256(constructorArgumentsEncoded),
3113
+ // init code. bytecode + constructor arguments
3114
+ lib.utils.keccak256(FEW_WRAPPED_TOKEN_BYTECODE(chainId))];
3115
+ var sanitizedInputs = "0x" + create2Inputs.map(function (i) {
3116
+ return i.slice(2);
3117
+ }).join('');
3118
+ return lib.utils.getAddress("0x" + lib.utils.keccak256(sanitizedInputs).slice(-40));
3119
+ };
3120
+ _proto.hasFewPrefix = function hasFewPrefix() {
3121
+ var _this$token$name$star, _this$token$name, _this$token$symbol$st, _this$token$symbol;
3122
+ var isFewWrappedName = (_this$token$name$star = (_this$token$name = this.token.name) == null ? void 0 : _this$token$name.startsWith('Few Wrapped ')) != null ? _this$token$name$star : false;
3123
+ var isFwSymbol = (_this$token$symbol$st = (_this$token$symbol = this.token.symbol) == null ? void 0 : _this$token$symbol.startsWith('fw')) != null ? _this$token$symbol$st : false;
3124
+ return isFewWrappedName || isFwSymbol;
3125
+ };
3126
+ _proto.getFewTokenAddress = function getFewTokenAddress() {
3127
+ if (this.hasFewPrefix()) {
3128
+ return this.token.address;
3129
+ } else {
3130
+ return this.getFewCreate2Address(this.token.address, this.chainId);
3131
+ }
3132
+ };
3133
+ _proto.getFewSymbol = function getFewSymbol() {
3134
+ if (this.hasFewPrefix()) {
3135
+ return this.token.symbol;
3136
+ } else {
3137
+ return "fw" + this.token.symbol;
3138
+ }
3139
+ };
3140
+ _proto.getFewTokenName = function getFewTokenName() {
3141
+ if (this.hasFewPrefix()) {
3142
+ return this.token.name;
3143
+ } else {
3144
+ return "Few Wrapped " + this.token.name;
3145
+ }
3146
+ };
3147
+ _proto.getFewToken = function getFewToken() {
3148
+ var fewTokenAddress = this.getFewTokenAddress();
3149
+ return new sdkCore.Token(this.token.chainId, fewTokenAddress, this.token.decimals, this.getFewSymbol(), this.getFewTokenName());
3150
+ };
3151
+ return FewTokenCreator;
3152
+ }();
3153
+ function getFewTokenFromOriginalToken(token, chainId) {
3154
+ var fewTokenCreator = new FewTokenCreator(token, chainId);
3155
+ return fewTokenCreator.getFewToken();
3156
+ }
3157
+ function isFewToken(token) {
3158
+ var _token$name$startsWit, _token$name, _token$symbol$startsW, _token$symbol;
3159
+ var isFewWrappedName = (_token$name$startsWit = (_token$name = token.name) == null ? void 0 : _token$name.startsWith('Few Wrapped ')) != null ? _token$name$startsWit : false;
3160
+ var isFwSymbol = (_token$symbol$startsW = (_token$symbol = token.symbol) == null ? void 0 : _token$symbol.startsWith('fw')) != null ? _token$symbol$startsW : false;
3161
+ return isFewWrappedName || isFwSymbol;
3162
+ }
3163
+
490
3164
  var Route = /*#__PURE__*/function () {
491
3165
  function Route(pairs, input, output) {
492
3166
  this._midPrice = null;
@@ -496,32 +3170,62 @@ var Route = /*#__PURE__*/function () {
496
3170
  return pair.chainId === chainId;
497
3171
  }) ? invariant(false, 'CHAIN_IDS') : void 0;
498
3172
  var wrappedInput = input.wrapped;
499
- !pairs[0].involvesToken(wrappedInput) ? invariant(false, 'INPUT') : void 0;
500
- !(typeof output === 'undefined' || pairs[pairs.length - 1].involvesToken(output.wrapped)) ? invariant(false, 'OUTPUT') : void 0;
501
- var path = [wrappedInput];
502
- for (var _iterator = _createForOfIteratorHelperLoose(pairs.entries()), _step; !(_step = _iterator()).done;) {
503
- var _step$value = _step.value,
504
- i = _step$value[0],
505
- pair = _step$value[1];
506
- var currentInput = path[i];
507
- !(currentInput.equals(pair.token0) || currentInput.equals(pair.token1)) ? invariant(false, 'PATH') : void 0;
508
- var _output = currentInput.equals(pair.token0) ? pair.token1 : pair.token0;
509
- path.push(_output);
510
- }
511
- this.pairs = pairs;
512
- this.path = path;
513
- this.input = input;
514
- this.output = output;
3173
+ // invariant(pairs[0].involvesToken(wrappedInput), 'INPUT')
3174
+ // invariant(typeof output === 'undefined' || pairs[pairs.length - 1].involvesToken(output.wrapped), 'OUTPUT')
3175
+ var wrappedOutput = output.wrapped;
3176
+ /**
3177
+ * Add an isFewToken check, if it's not, then use getFewTokenFromOriginalToken,
3178
+ * this way we can avoid Route construction issues. Other places that are modified
3179
+ * also need to perform this check. This change is mainly for compatibility with
3180
+ * origin token in Few V2.
3181
+ */
3182
+ if (isFewToken(wrappedInput) || isFewToken(wrappedOutput) || isFewToken(pairs[0].token0) || isFewToken(pairs[0].token1)) {
3183
+ var fewWrappedInput = getFewTokenFromOriginalToken(wrappedInput.wrapped, chainId);
3184
+ var fewWrappedOutput = getFewTokenFromOriginalToken(wrappedOutput.wrapped, chainId);
3185
+ !pairs[0].involvesToken(fewWrappedInput) ? invariant(false, 'INPUT') : void 0;
3186
+ !(typeof output === 'undefined' || pairs[pairs.length - 1].involvesToken(fewWrappedOutput)) ? invariant(false, 'OUTPUT') : void 0;
3187
+ var path = [fewWrappedInput];
3188
+ for (var _iterator = _createForOfIteratorHelperLoose(pairs.entries()), _step; !(_step = _iterator()).done;) {
3189
+ var _step$value = _step.value,
3190
+ i = _step$value[0],
3191
+ pair = _step$value[1];
3192
+ var currentInput = path[i];
3193
+ !(currentInput.equals(pair.token0) || currentInput.equals(pair.token1)) ? invariant(false, 'PATH') : void 0;
3194
+ var _output = currentInput.equals(pair.token0) ? pair.token1 : pair.token0;
3195
+ path.push(_output);
3196
+ }
3197
+ this.pairs = pairs; // few token pairs
3198
+ this.path = path; // few token path
3199
+ this.input = input; // origin token
3200
+ this.output = output; // origin token
3201
+ } else {
3202
+ !pairs[0].involvesToken(wrappedInput) ? invariant(false, 'INPUT') : void 0;
3203
+ !(typeof output === 'undefined' || pairs[pairs.length - 1].involvesToken(output.wrapped)) ? invariant(false, 'OUTPUT') : void 0;
3204
+ var _path = [wrappedInput];
3205
+ for (var _iterator2 = _createForOfIteratorHelperLoose(pairs.entries()), _step2; !(_step2 = _iterator2()).done;) {
3206
+ var _step2$value = _step2.value,
3207
+ _i = _step2$value[0],
3208
+ _pair = _step2$value[1];
3209
+ var _currentInput = _path[_i];
3210
+ !(_currentInput.equals(_pair.token0) || _currentInput.equals(_pair.token1)) ? invariant(false, 'PATH') : void 0;
3211
+ var _output2 = _currentInput.equals(_pair.token0) ? _pair.token1 : _pair.token0;
3212
+ _path.push(_output2);
3213
+ }
3214
+ this.pairs = pairs; // origin token pairs
3215
+ this.path = _path; // origin token path
3216
+ this.input = input; // origin token
3217
+ this.output = output; // origin token
3218
+ }
515
3219
  }
516
3220
  return _createClass(Route, [{
517
3221
  key: "midPrice",
518
3222
  get: function get() {
519
3223
  if (this._midPrice !== null) return this._midPrice;
520
3224
  var prices = [];
521
- for (var _iterator2 = _createForOfIteratorHelperLoose(this.pairs.entries()), _step2; !(_step2 = _iterator2()).done;) {
522
- var _step2$value = _step2.value,
523
- i = _step2$value[0],
524
- pair = _step2$value[1];
3225
+ for (var _iterator3 = _createForOfIteratorHelperLoose(this.pairs.entries()), _step3; !(_step3 = _iterator3()).done;) {
3226
+ var _step3$value = _step3.value,
3227
+ i = _step3$value[0],
3228
+ pair = _step3$value[1];
525
3229
  prices.push(this.path[i].equals(pair.token0) ? new sdkCore.Price(pair.reserve0.currency, pair.reserve1.currency, pair.reserve0.quotient, pair.reserve1.quotient) : new sdkCore.Price(pair.reserve1.currency, pair.reserve0.currency, pair.reserve1.quotient, pair.reserve0.quotient));
526
3230
  }
527
3231
  var reduced = prices.slice(1).reduce(function (accumulator, currentValue) {
@@ -586,28 +3290,59 @@ var Trade = /*#__PURE__*/function () {
586
3290
  this.route = route;
587
3291
  this.tradeType = tradeType;
588
3292
  var tokenAmounts = new Array(route.path.length);
3293
+ var chainId = route.pairs[0].chainId;
589
3294
  if (tradeType === sdkCore.TradeType.EXACT_INPUT) {
590
- !amount.currency.equals(route.input) ? invariant(false, 'INPUT') : void 0;
591
- tokenAmounts[0] = amount.wrapped;
592
- for (var i = 0; i < route.path.length - 1; i++) {
593
- var pair = route.pairs[i];
594
- var _pair$getOutputAmount = pair.getOutputAmount(tokenAmounts[i]),
595
- outputAmount = _pair$getOutputAmount[0];
596
- tokenAmounts[i + 1] = outputAmount;
3295
+ if (isFewToken(route.pairs[0].token0) || isFewToken(route.pairs[0].token1) || isFewToken(route.input.wrapped) || isFewToken(route.output.wrapped)) {
3296
+ !amount.currency.equals(route.input) ? invariant(false, 'INPUT') : void 0;
3297
+ // tokenAmounts[0] = amount.wrapped
3298
+ var fewAmountToken = getFewTokenFromOriginalToken(amount.currency.wrapped, chainId);
3299
+ tokenAmounts[0] = sdkCore.CurrencyAmount.fromFractionalAmount(fewAmountToken, amount.numerator, amount.denominator);
3300
+ for (var i = 0; i < route.path.length - 1; i++) {
3301
+ var pair = route.pairs[i];
3302
+ var _pair$getOutputAmount = pair.getOutputAmount(tokenAmounts[i]),
3303
+ outputAmount = _pair$getOutputAmount[0];
3304
+ tokenAmounts[i + 1] = outputAmount;
3305
+ }
3306
+ this.inputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.input, amount.numerator, amount.denominator);
3307
+ this.outputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.output, tokenAmounts[tokenAmounts.length - 1].numerator, tokenAmounts[tokenAmounts.length - 1].denominator);
3308
+ } else {
3309
+ !amount.currency.equals(route.input) ? invariant(false, 'INPUT') : void 0;
3310
+ tokenAmounts[0] = amount.wrapped;
3311
+ for (var _i = 0; _i < route.path.length - 1; _i++) {
3312
+ var _pair = route.pairs[_i];
3313
+ var _pair$getOutputAmount2 = _pair.getOutputAmount(tokenAmounts[_i]),
3314
+ _outputAmount = _pair$getOutputAmount2[0];
3315
+ tokenAmounts[_i + 1] = _outputAmount;
3316
+ }
3317
+ this.inputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.input, amount.numerator, amount.denominator);
3318
+ this.outputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.output, tokenAmounts[tokenAmounts.length - 1].numerator, tokenAmounts[tokenAmounts.length - 1].denominator);
597
3319
  }
598
- this.inputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.input, amount.numerator, amount.denominator);
599
- this.outputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.output, tokenAmounts[tokenAmounts.length - 1].numerator, tokenAmounts[tokenAmounts.length - 1].denominator);
600
3320
  } else {
601
- !amount.currency.equals(route.output) ? invariant(false, 'OUTPUT') : void 0;
602
- tokenAmounts[tokenAmounts.length - 1] = amount.wrapped;
603
- for (var _i = route.path.length - 1; _i > 0; _i--) {
604
- var _pair = route.pairs[_i - 1];
605
- var _pair$getInputAmount = _pair.getInputAmount(tokenAmounts[_i]),
606
- inputAmount = _pair$getInputAmount[0];
607
- tokenAmounts[_i - 1] = inputAmount;
3321
+ if (isFewToken(route.pairs[0].token0) || isFewToken(route.pairs[0].token1) || isFewToken(route.input.wrapped) || isFewToken(route.output.wrapped)) {
3322
+ !amount.currency.equals(route.output) ? invariant(false, 'OUTPUT') : void 0;
3323
+ // tokenAmounts[tokenAmounts.length - 1] = amount.wrapped
3324
+ var _fewAmountToken = getFewTokenFromOriginalToken(amount.currency.wrapped, chainId);
3325
+ tokenAmounts[tokenAmounts.length - 1] = sdkCore.CurrencyAmount.fromFractionalAmount(_fewAmountToken, amount.numerator, amount.denominator);
3326
+ for (var _i2 = route.path.length - 1; _i2 > 0; _i2--) {
3327
+ var _pair2 = route.pairs[_i2 - 1];
3328
+ var _pair2$getInputAmount = _pair2.getInputAmount(tokenAmounts[_i2]),
3329
+ inputAmount = _pair2$getInputAmount[0];
3330
+ tokenAmounts[_i2 - 1] = inputAmount;
3331
+ }
3332
+ this.inputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.input, tokenAmounts[0].numerator, tokenAmounts[0].denominator);
3333
+ this.outputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.output, amount.numerator, amount.denominator);
3334
+ } else {
3335
+ !amount.currency.equals(route.output) ? invariant(false, 'OUTPUT') : void 0;
3336
+ tokenAmounts[tokenAmounts.length - 1] = amount.wrapped;
3337
+ for (var _i3 = route.path.length - 1; _i3 > 0; _i3--) {
3338
+ var _pair3 = route.pairs[_i3 - 1];
3339
+ var _pair3$getInputAmount = _pair3.getInputAmount(tokenAmounts[_i3]),
3340
+ _inputAmount = _pair3$getInputAmount[0];
3341
+ tokenAmounts[_i3 - 1] = _inputAmount;
3342
+ }
3343
+ this.inputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.input, tokenAmounts[0].numerator, tokenAmounts[0].denominator);
3344
+ this.outputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.output, amount.numerator, amount.denominator);
608
3345
  }
609
- this.inputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.input, tokenAmounts[0].numerator, tokenAmounts[0].denominator);
610
- this.outputAmount = sdkCore.CurrencyAmount.fromFractionalAmount(route.output, amount.numerator, amount.denominator);
611
3346
  }
612
3347
  this.executionPrice = new sdkCore.Price(this.inputAmount.currency, this.outputAmount.currency, this.inputAmount.quotient, this.outputAmount.quotient);
613
3348
  this.priceImpact = sdkCore.computePriceImpact(route.midPrice, this.inputAmount, this.outputAmount);
@@ -699,8 +3434,8 @@ var Trade = /*#__PURE__*/function () {
699
3434
  var amountOut = void 0;
700
3435
  try {
701
3436
  ;
702
- var _pair$getOutputAmount2 = pair.getOutputAmount(amountIn);
703
- amountOut = _pair$getOutputAmount2[0];
3437
+ var _pair$getOutputAmount3 = pair.getOutputAmount(amountIn);
3438
+ amountOut = _pair$getOutputAmount3[0];
704
3439
  } catch (error) {
705
3440
  // input too low
706
3441
  if (error.isInsufficientInputAmountError) {
@@ -774,8 +3509,8 @@ var Trade = /*#__PURE__*/function () {
774
3509
  var amountIn = void 0;
775
3510
  try {
776
3511
  ;
777
- var _pair$getInputAmount2 = pair.getInputAmount(amountOut);
778
- amountIn = _pair$getInputAmount2[0];
3512
+ var _pair$getInputAmount = pair.getInputAmount(amountOut);
3513
+ amountIn = _pair$getInputAmount[0];
779
3514
  } catch (error) {
780
3515
  // not enough liquidity in this pair
781
3516
  if (error.isInsufficientReservesError) {
@@ -883,6 +3618,8 @@ var Router = /*#__PURE__*/function () {
883
3618
  }();
884
3619
 
885
3620
  exports.FACTORY_ADDRESS_MAP = FACTORY_ADDRESS_MAP;
3621
+ exports.FEW_WRAPPED_TOKEN_BYTECODE = FEW_WRAPPED_TOKEN_BYTECODE;
3622
+ exports.FEW_WRAPPED_TOKEN_FACTORY_ADDRESS = FEW_WRAPPED_TOKEN_FACTORY_ADDRESS;
886
3623
  exports.INIT_CODE_HASH = INIT_CODE_HASH;
887
3624
  exports.InsufficientInputAmountError = InsufficientInputAmountError;
888
3625
  exports.InsufficientReservesError = InsufficientReservesError;
@@ -892,6 +3629,8 @@ exports.Route = Route;
892
3629
  exports.Router = Router;
893
3630
  exports.Trade = Trade;
894
3631
  exports.computePairAddress = computePairAddress;
3632
+ exports.getFewTokenFromOriginalToken = getFewTokenFromOriginalToken;
895
3633
  exports.inputOutputComparator = inputOutputComparator;
3634
+ exports.isFewToken = isFewToken;
896
3635
  exports.tradeComparator = tradeComparator;
897
3636
  //# sourceMappingURL=few-v2-sdk.cjs.development.js.map