@sudobility/contracts 1.9.0 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/artifacts/contracts/Mailer.sol/Mailer.d.ts +963 -0
  2. package/artifacts/contracts/Mailer.sol/Mailer.dbg.json +1 -1
  3. package/artifacts/contracts/Mailer.sol/Mailer.json +95 -2
  4. package/artifacts/contracts/Mailer.sol/artifacts.d.ts +21 -0
  5. package/artifacts/contracts/MockUSDC.sol/MockUSDC.d.ts +284 -0
  6. package/artifacts/contracts/MockUSDC.sol/MockUSDC.dbg.json +1 -1
  7. package/artifacts/contracts/MockUSDC.sol/artifacts.d.ts +21 -0
  8. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.d.ts +157 -0
  9. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.dbg.json +1 -1
  10. package/artifacts/contracts/interfaces/IERC20.sol/artifacts.d.ts +21 -0
  11. package/dist/evm/typechain-types/Mailer.d.ts +51 -2
  12. package/dist/evm/typechain-types/Mailer.d.ts.map +1 -1
  13. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts +72 -1
  14. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  15. package/dist/evm/typechain-types/factories/Mailer__factory.js +94 -1
  16. package/dist/evm/typechain-types/factories/Mailer__factory.js.map +1 -1
  17. package/dist/solana/solana/mailer-client.d.ts +7 -0
  18. package/dist/solana/solana/mailer-client.d.ts.map +1 -1
  19. package/dist/solana/solana/mailer-client.js +30 -1
  20. package/dist/solana/solana/mailer-client.js.map +1 -1
  21. package/dist/unified/src/react/hooks/useMailerMutations.d.ts +1 -1
  22. package/dist/unified/src/react/hooks/useMailerMutations.js +1 -1
  23. package/dist/unified/src/solana/mailer-client.d.ts +7 -0
  24. package/dist/unified/src/solana/mailer-client.d.ts.map +1 -1
  25. package/dist/unified/src/solana/mailer-client.js +30 -1
  26. package/dist/unified/src/solana/mailer-client.js.map +1 -1
  27. package/dist/unified/src/unified/onchain-mailer-client.d.ts +2 -1
  28. package/dist/unified/src/unified/onchain-mailer-client.d.ts.map +1 -1
  29. package/dist/unified/src/unified/onchain-mailer-client.js +23 -2
  30. package/dist/unified/src/unified/onchain-mailer-client.js.map +1 -1
  31. package/dist/unified/typechain-types/Mailer.d.ts +51 -2
  32. package/dist/unified/typechain-types/Mailer.d.ts.map +1 -1
  33. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts +72 -1
  34. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  35. package/dist/unified/typechain-types/factories/Mailer__factory.js +94 -1
  36. package/dist/unified/typechain-types/factories/Mailer__factory.js.map +1 -1
  37. package/dist/unified-esm/src/react/hooks/useMailerMutations.d.ts +1 -1
  38. package/dist/unified-esm/src/react/hooks/useMailerMutations.js +1 -1
  39. package/dist/unified-esm/src/solana/mailer-client.d.ts +7 -0
  40. package/dist/unified-esm/src/solana/mailer-client.d.ts.map +1 -1
  41. package/dist/unified-esm/src/solana/mailer-client.js +30 -1
  42. package/dist/unified-esm/src/solana/mailer-client.js.map +1 -1
  43. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts +2 -1
  44. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts.map +1 -1
  45. package/dist/unified-esm/src/unified/onchain-mailer-client.js +23 -2
  46. package/dist/unified-esm/src/unified/onchain-mailer-client.js.map +1 -1
  47. package/dist/unified-esm/typechain-types/Mailer.d.ts +51 -2
  48. package/dist/unified-esm/typechain-types/Mailer.d.ts.map +1 -1
  49. package/dist/unified-esm/typechain-types/factories/Mailer__factory.d.ts +72 -1
  50. package/dist/unified-esm/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  51. package/dist/unified-esm/typechain-types/factories/Mailer__factory.js +94 -1
  52. package/dist/unified-esm/typechain-types/factories/Mailer__factory.js.map +1 -1
  53. package/package.json +7 -3
  54. package/programs/mailer/src/lib.rs +714 -151
  55. package/programs/mailer/tests/integration_tests.rs +383 -65
  56. package/typechain-types/Mailer.ts +104 -0
  57. package/typechain-types/factories/Mailer__factory.ts +94 -1
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/d7322d68004081a3e580abdf0ce77626.json"
3
+ "buildInfo": "../../build-info/c8387dc39d490e60640b5a6e773f16b6.json"
4
4
  }
@@ -44,6 +44,11 @@
44
44
  "name": "InvalidAddress",
45
45
  "type": "error"
46
46
  },
47
+ {
48
+ "inputs": [],
49
+ "name": "InvalidPercentage",
50
+ "type": "error"
51
+ },
47
52
  {
48
53
  "inputs": [],
49
54
  "name": "MathOverflow",
@@ -81,6 +86,25 @@
81
86
  "name": "ContractUnpaused",
82
87
  "type": "event"
83
88
  },
89
+ {
90
+ "anonymous": false,
91
+ "inputs": [
92
+ {
93
+ "indexed": true,
94
+ "internalType": "address",
95
+ "name": "account",
96
+ "type": "address"
97
+ },
98
+ {
99
+ "indexed": false,
100
+ "internalType": "uint256",
101
+ "name": "percentage",
102
+ "type": "uint256"
103
+ }
104
+ ],
105
+ "name": "CustomFeePercentageSet",
106
+ "type": "event"
107
+ },
84
108
  {
85
109
  "anonymous": false,
86
110
  "inputs": [
@@ -441,6 +465,38 @@
441
465
  "stateMutability": "nonpayable",
442
466
  "type": "function"
443
467
  },
468
+ {
469
+ "inputs": [
470
+ {
471
+ "internalType": "address",
472
+ "name": "account",
473
+ "type": "address"
474
+ }
475
+ ],
476
+ "name": "clearCustomFeePercentage",
477
+ "outputs": [],
478
+ "stateMutability": "nonpayable",
479
+ "type": "function"
480
+ },
481
+ {
482
+ "inputs": [
483
+ {
484
+ "internalType": "address",
485
+ "name": "",
486
+ "type": "address"
487
+ }
488
+ ],
489
+ "name": "customFeeDiscount",
490
+ "outputs": [
491
+ {
492
+ "internalType": "uint256",
493
+ "name": "",
494
+ "type": "uint256"
495
+ }
496
+ ],
497
+ "stateMutability": "view",
498
+ "type": "function"
499
+ },
444
500
  {
445
501
  "inputs": [
446
502
  {
@@ -487,6 +543,25 @@
487
543
  "stateMutability": "nonpayable",
488
544
  "type": "function"
489
545
  },
546
+ {
547
+ "inputs": [
548
+ {
549
+ "internalType": "address",
550
+ "name": "account",
551
+ "type": "address"
552
+ }
553
+ ],
554
+ "name": "getCustomFeePercentage",
555
+ "outputs": [
556
+ {
557
+ "internalType": "uint256",
558
+ "name": "",
559
+ "type": "uint256"
560
+ }
561
+ ],
562
+ "stateMutability": "view",
563
+ "type": "function"
564
+ },
490
565
  {
491
566
  "inputs": [],
492
567
  "name": "getDelegationFee",
@@ -766,6 +841,24 @@
766
841
  "stateMutability": "nonpayable",
767
842
  "type": "function"
768
843
  },
844
+ {
845
+ "inputs": [
846
+ {
847
+ "internalType": "address",
848
+ "name": "account",
849
+ "type": "address"
850
+ },
851
+ {
852
+ "internalType": "uint256",
853
+ "name": "percentage",
854
+ "type": "uint256"
855
+ }
856
+ ],
857
+ "name": "setCustomFeePercentage",
858
+ "outputs": [],
859
+ "stateMutability": "nonpayable",
860
+ "type": "function"
861
+ },
769
862
  {
770
863
  "inputs": [
771
864
  {
@@ -813,8 +906,8 @@
813
906
  "type": "function"
814
907
  }
815
908
  ],
816
- "bytecode": "0x60c0604052620186a0600055629896806001553480156200001f57600080fd5b5060405162001fdf38038062001fdf8339810160408190526200004291620000b4565b6001600160a01b03821615806200006057506001600160a01b038116155b156200007f5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000ec565b80516001600160a01b0381168114620000af57600080fd5b919050565b60008060408385031215620000c857600080fd5b620000d38362000097565b9150620000e36020840162000097565b90509250929050565b60805160a051611e3a620001a5600039600081816103140152818161042c015281816104d601528181610846015281816108e701528181610b1301528181610eb101528181610f5c01528181611233015281816112cb01526113740152600081816101e4015281816105080152818161063d0152818161071d01528181610a3301528181610c2701528181610d0701528181611111015281816112fd015281816114830152818161163701526117870152611e3a6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80638456cb5911610104578063b187bd26116100a2578063d157868711610071578063d1578687146103ea578063ebf77de0146103f2578063f2292f0914610405578063fa26bb271461040e57600080fd5b8063b187bd261461039e578063c5f0a58f146103a9578063cd564ccd146103b2578063ced72f87146103e257600080fd5b80639ded51dd116100de5780639ded51dd1461033e578063a3a336bf14610346578063ac637c7a14610382578063ae39279f1461039557600080fd5b80638456cb59146103075780638da5cb5b1461030f5780638db3c5fd1461033657600080fd5b806355bfc81c1161017c57806369fe0e2d1161014b57806369fe0e2d146102c65780636a1c6e78146102d9578063720e586f146102e15780637494b323146102f457600080fd5b806355bfc81c14610270578063569d71111461028357806358545014146102965780635c975abb146102a957600080fd5b80633a8c3d6a116101b85780633a8c3d6a146102455780633f4ba83a146102585780634a4e3bd5146102605780634b0b1b8b1461026857600080fd5b806311eac855146101df57806321241dfe14610223578063358cbf0a1461023b575b600080fd5b6102067f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61022d624f1a0081565b60405190815260200161021a565b610243610421565b005b610243610253366004611a05565b6105d1565b61024361083b565b6102436108dc565b61024361097d565b61024361027e366004611a80565b610b08565b610243610291366004611a99565b610bbb565b6102436102a4366004611b40565b610e1c565b6005546102b69060ff1681565b604051901515815260200161021a565b6102436102d4366004611a80565b610ea6565b61022d600a81565b6102436102ef366004611b40565b610f51565b610243610302366004611b62565b61108e565b610243611228565b6102067f000000000000000000000000000000000000000000000000000000000000000081565b61022d605a81565b60015461022d565b61036d610354366004611b40565b6002602052600090815260409020805460019091015482565b6040805192835260208301919091520161021a565b610243610390366004611b40565b61140e565b61022d60005481565b60055460ff166102b6565b61022d60015481565b6103c56103c0366004611b40565b611559565b60408051938452602084019290925215159082015260600161021a565b60005461022d565b60035461022d565b610243610400366004611b40565b6115a6565b61022d60035481565b61024361041c366004611bce565b611704565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046a57604051635fc483c560e01b815260040160405180910390fd5b60045460010361048d576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556003546000036104b55760405163493c1ab760e01b815260040160405180910390fd5b6003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105759190611c68565b905080610595576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506000600455565b6004546001036105f4576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff161561061d576040516306d39fcd60e41b815260040160405180910390fd5b81156106e6576000546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91610675913391309190600401611c85565b6020604051808303816000875af1158015610694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b89190611c68565b6106d557604051634aa23e8f60e11b815260040160405180910390fd5b6106e185600054611889565b6107cf565b60006064600a6000546106f99190611cbf565b6107039190611cdc565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd9061075690339030908690600401611c85565b6020604051808303816000875af1158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190611c68565b6107b657604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546107c89190611cfe565b9091555050505b83836040516107df929190611d11565b6040805191829003822084151583528315156020840152916001600160a01b0388169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d910160405180910390a450506000600455505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461088457604051635fc483c560e01b815260040160405180910390fd5b60055460ff166108a75760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461092557604051635fc483c560e01b815260040160405180910390fd5b60055460ff166109485760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b6004546001036109a0576040516345f5ce8b60e11b815260040160405180910390fd5b600160045533600090815260026020526040812080549091036109d65760405163493c1ab760e01b815260040160405180910390fd5b624f1a0081600101546109e99190611cfe565b421115610a095760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa89190611c68565b905080610ac8576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a25050600060045550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b5157604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610b75576040516306d39fcd60e41b815260040160405180910390fd5b600180549082905560408051828152602081018490527f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600454600103610bde576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610c07576040516306d39fcd60e41b815260040160405180910390fd5b8115610cd0576000546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91610c5f913391309190600401611c85565b6020604051808303816000875af1158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca29190611c68565b610cbf57604051634aa23e8f60e11b815260040160405180910390fd5b610ccb87600054611889565b610db9565b60006064600a600054610ce39190611cbf565b610ced9190611cdc565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610d4090339030908690600401611c85565b6020604051808303816000875af1158015610d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d839190611c68565b610da057604051634aa23e8f60e11b815260040160405180910390fd5b8060036000828254610db29190611cfe565b9091555050505b866001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad26888888888888604051610e0696959493929190611d4a565b60405180910390a3505060006004555050505050565b600454600103610e3f576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610e68576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506000600455565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610eef57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610f13576040516306d39fcd60e41b815260040160405180910390fd5b600080549082905560408051828152602081018490527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610baf565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f9a57604051635fc483c560e01b815260040160405180910390fd5b600454600103610fbd576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556001600160a01b03811660009081526002602052604081208054909103610ffc5760405163493c1ab760e01b815260040160405180910390fd5b624f1a00816001015461100f9190611cfe565b421161102e576040516326f6703f60e11b815260040160405180910390fd5b80546000808355600183018190556003805483929061104e908490611cfe565b90915550506040518181526001600160a01b038416907fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448190602001610af6565b6004546001036110b1576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156110da576040516306d39fcd60e41b815260040160405180910390fd5b60006064600a6000546110ed9190611cbf565b6110f79190611cdc565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd9061114a90339030908690600401611c85565b6020604051808303816000875af1158015611169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118d9190611c68565b6111aa57604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546111bc9190611cfe565b90915550506040516111d19084908490611d11565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c5994704438787604051611214929190611d8c565b60405180910390a350506000600455505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461127157604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611295576040516306d39fcd60e41b815260040160405180910390fd5b6005805460ff19166001179055600354156113e3576003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611346573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136a9190611c68565b905080156113da577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516113cd91815260200190565b60405180910390a26113e0565b60038290555b50505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1565b600454600103611431576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff161561145a576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381161561151b576001546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd916114bb913391309190600401611c85565b6020604051808303816000875af11580156114da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fe9190611c68565b61151b57604051634aa23e8f60e11b815260040160405180910390fd5b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506000600455565b6001600160a01b038116600090815260026020526040812080546001820154909291829161158b90624f1a0090611cfe565b81549093501580159061159d57508242115b93959294505050565b60055460ff166115c95760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b038116600090815260026020526040812080549091036116035760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611680573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a49190611c68565b905080156116f457836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516116e791815260200190565b60405180910390a26116fe565b8183554260018401555b50505050565b600454600103611727576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611750576040516306d39fcd60e41b815260040160405180910390fd5b60006064600a6000546117639190611cbf565b61176d9190611cdc565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906117c090339030908690600401611c85565b6020604051808303816000875af11580156117df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118039190611c68565b61182057604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546118329190611cfe565b909155505060405133907fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba31390611873908a908a908a908a908a908a90611da8565b60405180910390a2505060006004555050505050565b611896605a600019611cdc565b8111156118b657604051634eab2ea760e11b815260040160405180910390fd5b600060646118c5600a84611cbf565b6118cf9190611cdc565b905060006118dd8284611df1565b6001600160a01b03851660009081526002602052604081208054929350839290919061190a908490611cfe565b90915550506001600160a01b03841660009081526002602052604081204260019091015560038054849290611940908490611cfe565b909155505060408051828152602081018490526001600160a01b038616917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a250505050565b80356001600160a01b03811681146119a657600080fd5b919050565b60008083601f8401126119bd57600080fd5b50813567ffffffffffffffff8111156119d557600080fd5b6020830191508360208285010111156119ed57600080fd5b9250929050565b8015158114611a0257600080fd5b50565b600080600080600060808688031215611a1d57600080fd5b611a268661198f565b9450602086013567ffffffffffffffff811115611a4257600080fd5b611a4e888289016119ab565b9095509350506040860135611a62816119f4565b91506060860135611a72816119f4565b809150509295509295909350565b600060208284031215611a9257600080fd5b5035919050565b600080600080600080600060a0888a031215611ab457600080fd5b611abd8861198f565b9650602088013567ffffffffffffffff80821115611ada57600080fd5b611ae68b838c016119ab565b909850965060408a0135915080821115611aff57600080fd5b50611b0c8a828b016119ab565b9095509350506060880135611b20816119f4565b91506080880135611b30816119f4565b8091505092959891949750929550565b600060208284031215611b5257600080fd5b611b5b8261198f565b9392505050565b60008060008060408587031215611b7857600080fd5b843567ffffffffffffffff80821115611b9057600080fd5b611b9c888389016119ab565b90965094506020870135915080821115611bb557600080fd5b50611bc2878288016119ab565b95989497509550505050565b60008060008060008060608789031215611be757600080fd5b863567ffffffffffffffff80821115611bff57600080fd5b611c0b8a838b016119ab565b90985096506020890135915080821115611c2457600080fd5b611c308a838b016119ab565b90965094506040890135915080821115611c4957600080fd5b50611c5689828a016119ab565b979a9699509497509295939492505050565b600060208284031215611c7a57600080fd5b8151611b5b816119f4565b6001600160a01b039384168152919092166020820152604081019190915260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611cd657611cd6611ca9565b92915050565b600082611cf957634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115611cd657611cd6611ca9565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611d5e60808301888a611d21565b8281036020840152611d71818789611d21565b94151560408401525050901515606090910152949350505050565b602081526000611da0602083018486611d21565b949350505050565b606081526000611dbc60608301888a611d21565b8281036020840152611dcf818789611d21565b90508281036040840152611de4818587611d21565b9998505050505050505050565b81810381811115611cd657611cd6611ca956fea26469706673582212200466d0a077dca8c68dc0e5c81a63cd87dd82fdee2edd3a8e0b941461ba0699ac64736f6c63430008180033",
817
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c80638456cb5911610104578063b187bd26116100a2578063d157868711610071578063d1578687146103ea578063ebf77de0146103f2578063f2292f0914610405578063fa26bb271461040e57600080fd5b8063b187bd261461039e578063c5f0a58f146103a9578063cd564ccd146103b2578063ced72f87146103e257600080fd5b80639ded51dd116100de5780639ded51dd1461033e578063a3a336bf14610346578063ac637c7a14610382578063ae39279f1461039557600080fd5b80638456cb59146103075780638da5cb5b1461030f5780638db3c5fd1461033657600080fd5b806355bfc81c1161017c57806369fe0e2d1161014b57806369fe0e2d146102c65780636a1c6e78146102d9578063720e586f146102e15780637494b323146102f457600080fd5b806355bfc81c14610270578063569d71111461028357806358545014146102965780635c975abb146102a957600080fd5b80633a8c3d6a116101b85780633a8c3d6a146102455780633f4ba83a146102585780634a4e3bd5146102605780634b0b1b8b1461026857600080fd5b806311eac855146101df57806321241dfe14610223578063358cbf0a1461023b575b600080fd5b6102067f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61022d624f1a0081565b60405190815260200161021a565b610243610421565b005b610243610253366004611a05565b6105d1565b61024361083b565b6102436108dc565b61024361097d565b61024361027e366004611a80565b610b08565b610243610291366004611a99565b610bbb565b6102436102a4366004611b40565b610e1c565b6005546102b69060ff1681565b604051901515815260200161021a565b6102436102d4366004611a80565b610ea6565b61022d600a81565b6102436102ef366004611b40565b610f51565b610243610302366004611b62565b61108e565b610243611228565b6102067f000000000000000000000000000000000000000000000000000000000000000081565b61022d605a81565b60015461022d565b61036d610354366004611b40565b6002602052600090815260409020805460019091015482565b6040805192835260208301919091520161021a565b610243610390366004611b40565b61140e565b61022d60005481565b60055460ff166102b6565b61022d60015481565b6103c56103c0366004611b40565b611559565b60408051938452602084019290925215159082015260600161021a565b60005461022d565b60035461022d565b610243610400366004611b40565b6115a6565b61022d60035481565b61024361041c366004611bce565b611704565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046a57604051635fc483c560e01b815260040160405180910390fd5b60045460010361048d576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556003546000036104b55760405163493c1ab760e01b815260040160405180910390fd5b6003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105759190611c68565b905080610595576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506000600455565b6004546001036105f4576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff161561061d576040516306d39fcd60e41b815260040160405180910390fd5b81156106e6576000546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91610675913391309190600401611c85565b6020604051808303816000875af1158015610694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b89190611c68565b6106d557604051634aa23e8f60e11b815260040160405180910390fd5b6106e185600054611889565b6107cf565b60006064600a6000546106f99190611cbf565b6107039190611cdc565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd9061075690339030908690600401611c85565b6020604051808303816000875af1158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190611c68565b6107b657604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546107c89190611cfe565b9091555050505b83836040516107df929190611d11565b6040805191829003822084151583528315156020840152916001600160a01b0388169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d910160405180910390a450506000600455505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461088457604051635fc483c560e01b815260040160405180910390fd5b60055460ff166108a75760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461092557604051635fc483c560e01b815260040160405180910390fd5b60055460ff166109485760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b6004546001036109a0576040516345f5ce8b60e11b815260040160405180910390fd5b600160045533600090815260026020526040812080549091036109d65760405163493c1ab760e01b815260040160405180910390fd5b624f1a0081600101546109e99190611cfe565b421115610a095760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610a84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa89190611c68565b905080610ac8576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a25050600060045550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b5157604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610b75576040516306d39fcd60e41b815260040160405180910390fd5b600180549082905560408051828152602081018490527f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600454600103610bde576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610c07576040516306d39fcd60e41b815260040160405180910390fd5b8115610cd0576000546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd91610c5f913391309190600401611c85565b6020604051808303816000875af1158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca29190611c68565b610cbf57604051634aa23e8f60e11b815260040160405180910390fd5b610ccb87600054611889565b610db9565b60006064600a600054610ce39190611cbf565b610ced9190611cdc565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610d4090339030908690600401611c85565b6020604051808303816000875af1158015610d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d839190611c68565b610da057604051634aa23e8f60e11b815260040160405180910390fd5b8060036000828254610db29190611cfe565b9091555050505b866001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad26888888888888604051610e0696959493929190611d4a565b60405180910390a3505060006004555050505050565b600454600103610e3f576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610e68576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506000600455565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610eef57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610f13576040516306d39fcd60e41b815260040160405180910390fd5b600080549082905560408051828152602081018490527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610baf565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f9a57604051635fc483c560e01b815260040160405180910390fd5b600454600103610fbd576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556001600160a01b03811660009081526002602052604081208054909103610ffc5760405163493c1ab760e01b815260040160405180910390fd5b624f1a00816001015461100f9190611cfe565b421161102e576040516326f6703f60e11b815260040160405180910390fd5b80546000808355600183018190556003805483929061104e908490611cfe565b90915550506040518181526001600160a01b038416907fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448190602001610af6565b6004546001036110b1576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156110da576040516306d39fcd60e41b815260040160405180910390fd5b60006064600a6000546110ed9190611cbf565b6110f79190611cdc565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd9061114a90339030908690600401611c85565b6020604051808303816000875af1158015611169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118d9190611c68565b6111aa57604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546111bc9190611cfe565b90915550506040516111d19084908490611d11565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c5994704438787604051611214929190611d8c565b60405180910390a350506000600455505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461127157604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611295576040516306d39fcd60e41b815260040160405180910390fd5b6005805460ff19166001179055600354156113e3576003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611346573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136a9190611c68565b905080156113da577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516113cd91815260200190565b60405180910390a26113e0565b60038290555b50505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1565b600454600103611431576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff161561145a576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381161561151b576001546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd916114bb913391309190600401611c85565b6020604051808303816000875af11580156114da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fe9190611c68565b61151b57604051634aa23e8f60e11b815260040160405180910390fd5b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506000600455565b6001600160a01b038116600090815260026020526040812080546001820154909291829161158b90624f1a0090611cfe565b81549093501580159061159d57508242115b93959294505050565b60055460ff166115c95760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b038116600090815260026020526040812080549091036116035760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611680573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a49190611c68565b905080156116f457836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516116e791815260200190565b60405180910390a26116fe565b8183554260018401555b50505050565b600454600103611727576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611750576040516306d39fcd60e41b815260040160405180910390fd5b60006064600a6000546117639190611cbf565b61176d9190611cdc565b6040516323b872dd60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906117c090339030908690600401611c85565b6020604051808303816000875af11580156117df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118039190611c68565b61182057604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546118329190611cfe565b909155505060405133907fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba31390611873908a908a908a908a908a908a90611da8565b60405180910390a2505060006004555050505050565b611896605a600019611cdc565b8111156118b657604051634eab2ea760e11b815260040160405180910390fd5b600060646118c5600a84611cbf565b6118cf9190611cdc565b905060006118dd8284611df1565b6001600160a01b03851660009081526002602052604081208054929350839290919061190a908490611cfe565b90915550506001600160a01b03841660009081526002602052604081204260019091015560038054849290611940908490611cfe565b909155505060408051828152602081018490526001600160a01b038616917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a250505050565b80356001600160a01b03811681146119a657600080fd5b919050565b60008083601f8401126119bd57600080fd5b50813567ffffffffffffffff8111156119d557600080fd5b6020830191508360208285010111156119ed57600080fd5b9250929050565b8015158114611a0257600080fd5b50565b600080600080600060808688031215611a1d57600080fd5b611a268661198f565b9450602086013567ffffffffffffffff811115611a4257600080fd5b611a4e888289016119ab565b9095509350506040860135611a62816119f4565b91506060860135611a72816119f4565b809150509295509295909350565b600060208284031215611a9257600080fd5b5035919050565b600080600080600080600060a0888a031215611ab457600080fd5b611abd8861198f565b9650602088013567ffffffffffffffff80821115611ada57600080fd5b611ae68b838c016119ab565b909850965060408a0135915080821115611aff57600080fd5b50611b0c8a828b016119ab565b9095509350506060880135611b20816119f4565b91506080880135611b30816119f4565b8091505092959891949750929550565b600060208284031215611b5257600080fd5b611b5b8261198f565b9392505050565b60008060008060408587031215611b7857600080fd5b843567ffffffffffffffff80821115611b9057600080fd5b611b9c888389016119ab565b90965094506020870135915080821115611bb557600080fd5b50611bc2878288016119ab565b95989497509550505050565b60008060008060008060608789031215611be757600080fd5b863567ffffffffffffffff80821115611bff57600080fd5b611c0b8a838b016119ab565b90985096506020890135915080821115611c2457600080fd5b611c308a838b016119ab565b90965094506040890135915080821115611c4957600080fd5b50611c5689828a016119ab565b979a9699509497509295939492505050565b600060208284031215611c7a57600080fd5b8151611b5b816119f4565b6001600160a01b039384168152919092166020820152604081019190915260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611cd657611cd6611ca9565b92915050565b600082611cf957634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115611cd657611cd6611ca9565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611d5e60808301888a611d21565b8281036020840152611d71818789611d21565b94151560408401525050901515606090910152949350505050565b602081526000611da0602083018486611d21565b949350505050565b606081526000611dbc60608301888a611d21565b8281036020840152611dcf818789611d21565b90508281036040840152611de4818587611d21565b9998505050505050505050565b81810381811115611cd657611cd6611ca956fea26469706673582212200466d0a077dca8c68dc0e5c81a63cd87dd82fdee2edd3a8e0b941461ba0699ac64736f6c63430008180033",
909
+ "bytecode": "0x60c0604052620186a0600055629896806001553480156200001f57600080fd5b50604051620023ab380380620023ab8339810160408190526200004291620000b4565b6001600160a01b03821615806200006057506001600160a01b038116155b156200007f5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000ec565b80516001600160a01b0381168114620000af57600080fd5b919050565b60008060408385031215620000c857600080fd5b620000d38362000097565b9150620000e36020840162000097565b90509250929050565b60805160a0516121f8620001b360003960008181610385015281816104b0015281816105c70152818161067101528181610a1c01528181610abd01528181610ce9015281816110c20152818161116d0152818161145e015281816114f60152818161159f015261178f015260008181610224015281816106a3015281816107f0015281816108ef01528181610c0901528181610e1501528181610f140152818161133801528181611528015281816116ae0152818161197e0152611ae401526121f86000f3fe608060405234801561001057600080fd5b50600436106102055760003560e01c80637494b3231161011a578063b187bd26116100ad578063ced72f871161007c578063ced72f8714610466578063d15786871461046e578063ebf77de014610476578063f2292f0914610489578063fa26bb271461049257600080fd5b8063b187bd261461040f578063bbb2fe7c1461041a578063c5f0a58f1461042d578063cd564ccd1461043657600080fd5b80639ded51dd116100e95780639ded51dd146103af578063a3a336bf146103b7578063ac637c7a146103f3578063ae39279f1461040657600080fd5b80637494b323146103655780638456cb59146103785780638da5cb5b146103805780638db3c5fd146103a757600080fd5b80634a4e3bd51161019d578063585450141161016c57806358545014146103075780635c975abb1461031a57806369fe0e2d146103375780636a1c6e781461034a578063720e586f1461035257600080fd5b80634a4e3bd5146102d15780634b0b1b8b146102d957806355bfc81c146102e1578063569d7111146102f457600080fd5b8063358cbf0a116101d9578063358cbf0a1461028e5780633a8c3d6a146102965780633f4ba83a146102a95780633ff5aecd146102b157600080fd5b80620270a41461020a57806311eac8551461021f57806321241dfe14610263578063285298af1461027b575b600080fd5b61021d610218366004611d4d565b6104a5565b005b6102467f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61026d624f1a0081565b60405190815260200161025a565b61026d610289366004611d4d565b610592565b61021d6105bc565b61021d6102a4366004611dc9565b61076c565b61021d610a11565b61026d6102bf366004611d4d565b60066020526000908152604090205481565b61021d610ab2565b61021d610b53565b61021d6102ef366004611e44565b610cde565b61021d610302366004611e5d565b610d91565b61021d610315366004611d4d565b61102d565b6005546103279060ff1681565b604051901515815260200161025a565b61021d610345366004611e44565b6110b7565b61026d600a81565b61021d610360366004611d4d565b611162565b61021d610373366004611f04565b61129f565b61021d611453565b6102467f000000000000000000000000000000000000000000000000000000000000000081565b61026d605a81565b60015461026d565b6103de6103c5366004611d4d565b6002602052600090815260409020805460019091015482565b6040805192835260208301919091520161025a565b61021d610401366004611d4d565b611639565b61026d60005481565b60055460ff16610327565b61021d610428366004611f70565b611784565b61026d60015481565b610449610444366004611d4d565b6118a0565b60408051938452602084019290925215159082015260600161025a565b60005461026d565b60035461026d565b61021d610484366004611d4d565b6118ed565b61026d60035481565b61021d6104a0366004611f9a565b611a4b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104ee57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610512576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166105395760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526006602052604080822091909155517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d90610587906064815260200190565b60405180910390a250565b6001600160a01b0381166000908152600660205260408120546105b690606461204a565b92915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060557604051635fc483c560e01b815260040160405180910390fd5b600454600103610628576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556003546000036106505760405163493c1ab760e01b815260040160405180910390fd5b6003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610710919061205d565b905080610730576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506000600455565b60045460010361078f576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156107b8576040516306d39fcd60e41b815260040160405180910390fd5b81156108a25760006107cc33600054611bea565b905060008111801561086e57506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906108299033903090869060040161207a565b6020604051808303816000875af1158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c919061205d565b155b1561088c57604051634aa23e8f60e11b815260040160405180910390fd5b801561089c5761089c8682611c2b565b506109a5565b60006108b033600054611bea565b9050600060646108c1600a8461209e565b6108cb91906120b5565b905060008111801561096d57506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906109289033903090869060040161207a565b6020604051808303816000875af1158015610947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096b919061205d565b155b1561098b57604051634aa23e8f60e11b815260040160405180910390fd5b806003600082825461099d91906120d7565b909155505050505b83836040516109b59291906120ea565b6040805191829003822084151583528315156020840152916001600160a01b0388169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d910160405180910390a450506000600455505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a5a57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610a7d5760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610afb57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610b1e5760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b600454600103610b76576040516345f5ce8b60e11b815260040160405180910390fd5b60016004553360009081526002602052604081208054909103610bac5760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610bbf91906120d7565b421115610bdf5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7e919061205d565b905080610c9e576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a25050600060045550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d2757604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610d4b576040516306d39fcd60e41b815260040160405180910390fd5b600180549082905560408051828152602081018490527f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600454600103610db4576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610ddd576040516306d39fcd60e41b815260040160405180910390fd5b8115610ec7576000610df133600054611bea565b9050600081118015610e9357506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610e4e9033903090869060040161207a565b6020604051808303816000875af1158015610e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e91919061205d565b155b15610eb157604051634aa23e8f60e11b815260040160405180910390fd5b8015610ec157610ec18882611c2b565b50610fca565b6000610ed533600054611bea565b905060006064610ee6600a8461209e565b610ef091906120b5565b9050600081118015610f9257506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610f4d9033903090869060040161207a565b6020604051808303816000875af1158015610f6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f90919061205d565b155b15610fb057604051634aa23e8f60e11b815260040160405180910390fd5b8060036000828254610fc291906120d7565b909155505050505b866001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad2688888888888860405161101796959493929190612123565b60405180910390a3505060006004555050505050565b600454600103611050576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611079576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506000600455565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461110057604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611124576040516306d39fcd60e41b815260040160405180910390fd5b600080549082905560408051828152602081018490527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610d85565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111ab57604051635fc483c560e01b815260040160405180910390fd5b6004546001036111ce576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556001600160a01b0381166000908152600260205260408120805490910361120d5760405163493c1ab760e01b815260040160405180910390fd5b624f1a00816001015461122091906120d7565b421161123f576040516326f6703f60e11b815260040160405180910390fd5b80546000808355600183018190556003805483929061125f9084906120d7565b90915550506040518181526001600160a01b038416907fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448190602001610ccc565b6004546001036112c2576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156112eb576040516306d39fcd60e41b815260040160405180910390fd5b60006112f933600054611bea565b90506000606461130a600a8461209e565b61131491906120b5565b90506000811180156113b657506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906113719033903090869060040161207a565b6020604051808303816000875af1158015611390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b4919061205d565b155b156113d457604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546113e691906120d7565b90915550506040516113fb90859085906120ea565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c599470443888860405161143e929190612165565b60405180910390a35050600060045550505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461149c57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16156114c0576040516306d39fcd60e41b815260040160405180910390fd5b6005805460ff191660011790556003541561160e576003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611571573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611595919061205d565b90508015611605577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516115f891815260200190565b60405180910390a261160b565b60038290555b50505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1565b60045460010361165c576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611685576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03811615611746576001546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd916116e691339130919060040161207a565b6020604051808303816000875af1158015611705573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611729919061205d565b61174657604051634aa23e8f60e11b815260040160405180910390fd5b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506000600455565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117cd57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16156117f1576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0382166118185760405163e6c4247b60e01b815260040160405180910390fd5b606481111561183a57604051631f3b85d360e01b815260040160405180910390fd5b61184581606461204a565b6001600160a01b038316600081815260066020526040908190209290925590517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d906118949084815260200190565b60405180910390a25050565b6001600160a01b03811660009081526002602052604081208054600182015490929182916118d290624f1a00906120d7565b8154909350158015906118e457508242115b93959294505050565b60055460ff166119105760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600260205260408120805490910361194a5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156119c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119eb919061205d565b90508015611a3b57836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd83604051611a2e91815260200190565b60405180910390a2611a45565b8183554260018401555b50505050565b600454600103611a6e576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611a97576040516306d39fcd60e41b815260040160405180910390fd5b6000611aa533600054611bea565b905060006064611ab6600a8461209e565b611ac091906120b5565b9050600081118015611b6257506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90611b1d9033903090869060040161207a565b6020604051808303816000875af1158015611b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b60919061205d565b155b15611b8057604051634aa23e8f60e11b815260040160405180910390fd5b8060036000828254611b9291906120d7565b909155505060405133907fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba31390611bd3908b908b908b908b908b908b90612179565b60405180910390a250506000600455505050505050565b6001600160a01b0382166000908152600660205260408120546064611c0f828261204a565b611c19908561209e565b611c2391906120b5565b949350505050565b611c38605a6000196120b5565b811115611c5857604051634eab2ea760e11b815260040160405180910390fd5b60006064611c67600a8461209e565b611c7191906120b5565b90506000611c7f828461204a565b6001600160a01b038516600090815260026020526040812080549293508392909190611cac9084906120d7565b90915550506001600160a01b03841660009081526002602052604081204260019091015560038054849290611ce29084906120d7565b909155505060408051828152602081018490526001600160a01b038616917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a250505050565b80356001600160a01b0381168114611d4857600080fd5b919050565b600060208284031215611d5f57600080fd5b611d6882611d31565b9392505050565b60008083601f840112611d8157600080fd5b50813567ffffffffffffffff811115611d9957600080fd5b602083019150836020828501011115611db157600080fd5b9250929050565b8015158114611dc657600080fd5b50565b600080600080600060808688031215611de157600080fd5b611dea86611d31565b9450602086013567ffffffffffffffff811115611e0657600080fd5b611e1288828901611d6f565b9095509350506040860135611e2681611db8565b91506060860135611e3681611db8565b809150509295509295909350565b600060208284031215611e5657600080fd5b5035919050565b600080600080600080600060a0888a031215611e7857600080fd5b611e8188611d31565b9650602088013567ffffffffffffffff80821115611e9e57600080fd5b611eaa8b838c01611d6f565b909850965060408a0135915080821115611ec357600080fd5b50611ed08a828b01611d6f565b9095509350506060880135611ee481611db8565b91506080880135611ef481611db8565b8091505092959891949750929550565b60008060008060408587031215611f1a57600080fd5b843567ffffffffffffffff80821115611f3257600080fd5b611f3e88838901611d6f565b90965094506020870135915080821115611f5757600080fd5b50611f6487828801611d6f565b95989497509550505050565b60008060408385031215611f8357600080fd5b611f8c83611d31565b946020939093013593505050565b60008060008060008060608789031215611fb357600080fd5b863567ffffffffffffffff80821115611fcb57600080fd5b611fd78a838b01611d6f565b90985096506020890135915080821115611ff057600080fd5b611ffc8a838b01611d6f565b9096509450604089013591508082111561201557600080fd5b5061202289828a01611d6f565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b6576105b6612034565b60006020828403121561206f57600080fd5b8151611d6881611db8565b6001600160a01b039384168152919092166020820152604081019190915260600190565b80820281158282048414176105b6576105b6612034565b6000826120d257634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105b6576105b6612034565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061213760808301888a6120fa565b828103602084015261214a8187896120fa565b94151560408401525050901515606090910152949350505050565b602081526000611c236020830184866120fa565b60608152600061218d60608301888a6120fa565b82810360208401526121a08187896120fa565b905082810360408401526121b58185876120fa565b999850505050505050505056fea26469706673582212208a82d8e37c43fe6ce0c564334fcf3525212c54604dc8ca3a5e602c719f3ed32864736f6c63430008180033",
910
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102055760003560e01c80637494b3231161011a578063b187bd26116100ad578063ced72f871161007c578063ced72f8714610466578063d15786871461046e578063ebf77de014610476578063f2292f0914610489578063fa26bb271461049257600080fd5b8063b187bd261461040f578063bbb2fe7c1461041a578063c5f0a58f1461042d578063cd564ccd1461043657600080fd5b80639ded51dd116100e95780639ded51dd146103af578063a3a336bf146103b7578063ac637c7a146103f3578063ae39279f1461040657600080fd5b80637494b323146103655780638456cb59146103785780638da5cb5b146103805780638db3c5fd146103a757600080fd5b80634a4e3bd51161019d578063585450141161016c57806358545014146103075780635c975abb1461031a57806369fe0e2d146103375780636a1c6e781461034a578063720e586f1461035257600080fd5b80634a4e3bd5146102d15780634b0b1b8b146102d957806355bfc81c146102e1578063569d7111146102f457600080fd5b8063358cbf0a116101d9578063358cbf0a1461028e5780633a8c3d6a146102965780633f4ba83a146102a95780633ff5aecd146102b157600080fd5b80620270a41461020a57806311eac8551461021f57806321241dfe14610263578063285298af1461027b575b600080fd5b61021d610218366004611d4d565b6104a5565b005b6102467f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61026d624f1a0081565b60405190815260200161025a565b61026d610289366004611d4d565b610592565b61021d6105bc565b61021d6102a4366004611dc9565b61076c565b61021d610a11565b61026d6102bf366004611d4d565b60066020526000908152604090205481565b61021d610ab2565b61021d610b53565b61021d6102ef366004611e44565b610cde565b61021d610302366004611e5d565b610d91565b61021d610315366004611d4d565b61102d565b6005546103279060ff1681565b604051901515815260200161025a565b61021d610345366004611e44565b6110b7565b61026d600a81565b61021d610360366004611d4d565b611162565b61021d610373366004611f04565b61129f565b61021d611453565b6102467f000000000000000000000000000000000000000000000000000000000000000081565b61026d605a81565b60015461026d565b6103de6103c5366004611d4d565b6002602052600090815260409020805460019091015482565b6040805192835260208301919091520161025a565b61021d610401366004611d4d565b611639565b61026d60005481565b60055460ff16610327565b61021d610428366004611f70565b611784565b61026d60015481565b610449610444366004611d4d565b6118a0565b60408051938452602084019290925215159082015260600161025a565b60005461026d565b60035461026d565b61021d610484366004611d4d565b6118ed565b61026d60035481565b61021d6104a0366004611f9a565b611a4b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104ee57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610512576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166105395760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526006602052604080822091909155517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d90610587906064815260200190565b60405180910390a250565b6001600160a01b0381166000908152600660205260408120546105b690606461204a565b92915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060557604051635fc483c560e01b815260040160405180910390fd5b600454600103610628576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556003546000036106505760405163493c1ab760e01b815260040160405180910390fd5b6003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610710919061205d565b905080610730576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506000600455565b60045460010361078f576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156107b8576040516306d39fcd60e41b815260040160405180910390fd5b81156108a25760006107cc33600054611bea565b905060008111801561086e57506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906108299033903090869060040161207a565b6020604051808303816000875af1158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c919061205d565b155b1561088c57604051634aa23e8f60e11b815260040160405180910390fd5b801561089c5761089c8682611c2b565b506109a5565b60006108b033600054611bea565b9050600060646108c1600a8461209e565b6108cb91906120b5565b905060008111801561096d57506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906109289033903090869060040161207a565b6020604051808303816000875af1158015610947573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096b919061205d565b155b1561098b57604051634aa23e8f60e11b815260040160405180910390fd5b806003600082825461099d91906120d7565b909155505050505b83836040516109b59291906120ea565b6040805191829003822084151583528315156020840152916001600160a01b0388169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d910160405180910390a450506000600455505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a5a57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610a7d5760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610afb57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610b1e5760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b600454600103610b76576040516345f5ce8b60e11b815260040160405180910390fd5b60016004553360009081526002602052604081208054909103610bac5760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610bbf91906120d7565b421115610bdf5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7e919061205d565b905080610c9e576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a25050600060045550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d2757604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610d4b576040516306d39fcd60e41b815260040160405180910390fd5b600180549082905560408051828152602081018490527f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600454600103610db4576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610ddd576040516306d39fcd60e41b815260040160405180910390fd5b8115610ec7576000610df133600054611bea565b9050600081118015610e9357506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610e4e9033903090869060040161207a565b6020604051808303816000875af1158015610e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e91919061205d565b155b15610eb157604051634aa23e8f60e11b815260040160405180910390fd5b8015610ec157610ec18882611c2b565b50610fca565b6000610ed533600054611bea565b905060006064610ee6600a8461209e565b610ef091906120b5565b9050600081118015610f9257506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610f4d9033903090869060040161207a565b6020604051808303816000875af1158015610f6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f90919061205d565b155b15610fb057604051634aa23e8f60e11b815260040160405180910390fd5b8060036000828254610fc291906120d7565b909155505050505b866001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad2688888888888860405161101796959493929190612123565b60405180910390a3505060006004555050505050565b600454600103611050576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611079576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506000600455565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461110057604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611124576040516306d39fcd60e41b815260040160405180910390fd5b600080549082905560408051828152602081018490527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610d85565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111ab57604051635fc483c560e01b815260040160405180910390fd5b6004546001036111ce576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556001600160a01b0381166000908152600260205260408120805490910361120d5760405163493c1ab760e01b815260040160405180910390fd5b624f1a00816001015461122091906120d7565b421161123f576040516326f6703f60e11b815260040160405180910390fd5b80546000808355600183018190556003805483929061125f9084906120d7565b90915550506040518181526001600160a01b038416907fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448190602001610ccc565b6004546001036112c2576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156112eb576040516306d39fcd60e41b815260040160405180910390fd5b60006112f933600054611bea565b90506000606461130a600a8461209e565b61131491906120b5565b90506000811180156113b657506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906113719033903090869060040161207a565b6020604051808303816000875af1158015611390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b4919061205d565b155b156113d457604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546113e691906120d7565b90915550506040516113fb90859085906120ea565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c599470443888860405161143e929190612165565b60405180910390a35050600060045550505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461149c57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16156114c0576040516306d39fcd60e41b815260040160405180910390fd5b6005805460ff191660011790556003541561160e576003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611571573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611595919061205d565b90508015611605577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516115f891815260200190565b60405180910390a261160b565b60038290555b50505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1565b60045460010361165c576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611685576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03811615611746576001546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd916116e691339130919060040161207a565b6020604051808303816000875af1158015611705573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611729919061205d565b61174657604051634aa23e8f60e11b815260040160405180910390fd5b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506000600455565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117cd57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16156117f1576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0382166118185760405163e6c4247b60e01b815260040160405180910390fd5b606481111561183a57604051631f3b85d360e01b815260040160405180910390fd5b61184581606461204a565b6001600160a01b038316600081815260066020526040908190209290925590517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d906118949084815260200190565b60405180910390a25050565b6001600160a01b03811660009081526002602052604081208054600182015490929182916118d290624f1a00906120d7565b8154909350158015906118e457508242115b93959294505050565b60055460ff166119105760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600260205260408120805490910361194a5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156119c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119eb919061205d565b90508015611a3b57836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd83604051611a2e91815260200190565b60405180910390a2611a45565b8183554260018401555b50505050565b600454600103611a6e576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611a97576040516306d39fcd60e41b815260040160405180910390fd5b6000611aa533600054611bea565b905060006064611ab6600a8461209e565b611ac091906120b5565b9050600081118015611b6257506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90611b1d9033903090869060040161207a565b6020604051808303816000875af1158015611b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b60919061205d565b155b15611b8057604051634aa23e8f60e11b815260040160405180910390fd5b8060036000828254611b9291906120d7565b909155505060405133907fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba31390611bd3908b908b908b908b908b908b90612179565b60405180910390a250506000600455505050505050565b6001600160a01b0382166000908152600660205260408120546064611c0f828261204a565b611c19908561209e565b611c2391906120b5565b949350505050565b611c38605a6000196120b5565b811115611c5857604051634eab2ea760e11b815260040160405180910390fd5b60006064611c67600a8461209e565b611c7191906120b5565b90506000611c7f828461204a565b6001600160a01b038516600090815260026020526040812080549293508392909190611cac9084906120d7565b90915550506001600160a01b03841660009081526002602052604081204260019091015560038054849290611ce29084906120d7565b909155505060408051828152602081018490526001600160a01b038616917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a250505050565b80356001600160a01b0381168114611d4857600080fd5b919050565b600060208284031215611d5f57600080fd5b611d6882611d31565b9392505050565b60008083601f840112611d8157600080fd5b50813567ffffffffffffffff811115611d9957600080fd5b602083019150836020828501011115611db157600080fd5b9250929050565b8015158114611dc657600080fd5b50565b600080600080600060808688031215611de157600080fd5b611dea86611d31565b9450602086013567ffffffffffffffff811115611e0657600080fd5b611e1288828901611d6f565b9095509350506040860135611e2681611db8565b91506060860135611e3681611db8565b809150509295509295909350565b600060208284031215611e5657600080fd5b5035919050565b600080600080600080600060a0888a031215611e7857600080fd5b611e8188611d31565b9650602088013567ffffffffffffffff80821115611e9e57600080fd5b611eaa8b838c01611d6f565b909850965060408a0135915080821115611ec357600080fd5b50611ed08a828b01611d6f565b9095509350506060880135611ee481611db8565b91506080880135611ef481611db8565b8091505092959891949750929550565b60008060008060408587031215611f1a57600080fd5b843567ffffffffffffffff80821115611f3257600080fd5b611f3e88838901611d6f565b90965094506020870135915080821115611f5757600080fd5b50611f6487828801611d6f565b95989497509550505050565b60008060408385031215611f8357600080fd5b611f8c83611d31565b946020939093013593505050565b60008060008060008060608789031215611fb357600080fd5b863567ffffffffffffffff80821115611fcb57600080fd5b611fd78a838b01611d6f565b90985096506020890135915080821115611ff057600080fd5b611ffc8a838b01611d6f565b9096509450604089013591508082111561201557600080fd5b5061202289828a01611d6f565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b6576105b6612034565b60006020828403121561206f57600080fd5b8151611d6881611db8565b6001600160a01b039384168152919092166020820152604081019190915260600190565b80820281158282048414176105b6576105b6612034565b6000826120d257634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105b6576105b6612034565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061213760808301888a6120fa565b828103602084015261214a8187896120fa565b94151560408401525050901515606090910152949350505050565b602081526000611c236020830184866120fa565b60608152600061218d60608301888a6120fa565b82810360208401526121a08187896120fa565b905082810360408401526121b58185876120fa565b999850505050505050505056fea26469706673582212208a82d8e37c43fe6ce0c564334fcf3525212c54604dc8ca3a5e602c719f3ed32864736f6c63430008180033",
818
911
  "linkReferences": {},
819
912
  "deployedLinkReferences": {}
820
913
  }
@@ -0,0 +1,21 @@
1
+ // This file was autogenerated by hardhat-viem, do not edit it.
2
+ // prettier-ignore
3
+ // tslint:disable
4
+ // eslint-disable
5
+
6
+ import "hardhat/types/artifacts";
7
+ import type { GetContractReturnType } from "@nomicfoundation/hardhat-viem/types";
8
+
9
+ import { Mailer$Type } from "./Mailer";
10
+
11
+ declare module "hardhat/types/artifacts" {
12
+ interface ArtifactsMap {
13
+ ["Mailer"]: Mailer$Type;
14
+ ["contracts/Mailer.sol:Mailer"]: Mailer$Type;
15
+ }
16
+
17
+ interface ContractTypesMap {
18
+ ["Mailer"]: GetContractReturnType<Mailer$Type["abi"]>;
19
+ ["contracts/Mailer.sol:Mailer"]: GetContractReturnType<Mailer$Type["abi"]>;
20
+ }
21
+ }
@@ -0,0 +1,284 @@
1
+ // This file was autogenerated by hardhat-viem, do not edit it.
2
+ // prettier-ignore
3
+ // tslint:disable
4
+ // eslint-disable
5
+
6
+ import type { Address } from "viem";
7
+ import type { GetContractReturnType } from "@nomicfoundation/hardhat-viem/types";
8
+ import "@nomicfoundation/hardhat-viem/types";
9
+
10
+ export interface MockUSDC$Type {
11
+ "_format": "hh-sol-artifact-1",
12
+ "contractName": "MockUSDC",
13
+ "sourceName": "contracts/MockUSDC.sol",
14
+ "abi": [
15
+ {
16
+ "inputs": [],
17
+ "stateMutability": "nonpayable",
18
+ "type": "constructor"
19
+ },
20
+ {
21
+ "inputs": [],
22
+ "name": "InsufficientAllowance",
23
+ "type": "error"
24
+ },
25
+ {
26
+ "inputs": [],
27
+ "name": "InsufficientBalance",
28
+ "type": "error"
29
+ },
30
+ {
31
+ "inputs": [],
32
+ "name": "OnlyOwner",
33
+ "type": "error"
34
+ },
35
+ {
36
+ "inputs": [
37
+ {
38
+ "internalType": "address",
39
+ "name": "",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "internalType": "address",
44
+ "name": "",
45
+ "type": "address"
46
+ }
47
+ ],
48
+ "name": "allowance",
49
+ "outputs": [
50
+ {
51
+ "internalType": "uint256",
52
+ "name": "",
53
+ "type": "uint256"
54
+ }
55
+ ],
56
+ "stateMutability": "view",
57
+ "type": "function"
58
+ },
59
+ {
60
+ "inputs": [
61
+ {
62
+ "internalType": "address",
63
+ "name": "spender",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "internalType": "uint256",
68
+ "name": "amount",
69
+ "type": "uint256"
70
+ }
71
+ ],
72
+ "name": "approve",
73
+ "outputs": [
74
+ {
75
+ "internalType": "bool",
76
+ "name": "",
77
+ "type": "bool"
78
+ }
79
+ ],
80
+ "stateMutability": "nonpayable",
81
+ "type": "function"
82
+ },
83
+ {
84
+ "inputs": [
85
+ {
86
+ "internalType": "address",
87
+ "name": "",
88
+ "type": "address"
89
+ }
90
+ ],
91
+ "name": "balanceOf",
92
+ "outputs": [
93
+ {
94
+ "internalType": "uint256",
95
+ "name": "",
96
+ "type": "uint256"
97
+ }
98
+ ],
99
+ "stateMutability": "view",
100
+ "type": "function"
101
+ },
102
+ {
103
+ "inputs": [],
104
+ "name": "decimals",
105
+ "outputs": [
106
+ {
107
+ "internalType": "uint8",
108
+ "name": "",
109
+ "type": "uint8"
110
+ }
111
+ ],
112
+ "stateMutability": "view",
113
+ "type": "function"
114
+ },
115
+ {
116
+ "inputs": [
117
+ {
118
+ "internalType": "address",
119
+ "name": "to",
120
+ "type": "address"
121
+ },
122
+ {
123
+ "internalType": "uint256",
124
+ "name": "amount",
125
+ "type": "uint256"
126
+ }
127
+ ],
128
+ "name": "mint",
129
+ "outputs": [],
130
+ "stateMutability": "nonpayable",
131
+ "type": "function"
132
+ },
133
+ {
134
+ "inputs": [],
135
+ "name": "name",
136
+ "outputs": [
137
+ {
138
+ "internalType": "string",
139
+ "name": "",
140
+ "type": "string"
141
+ }
142
+ ],
143
+ "stateMutability": "view",
144
+ "type": "function"
145
+ },
146
+ {
147
+ "inputs": [],
148
+ "name": "owner",
149
+ "outputs": [
150
+ {
151
+ "internalType": "address",
152
+ "name": "",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "stateMutability": "view",
157
+ "type": "function"
158
+ },
159
+ {
160
+ "inputs": [],
161
+ "name": "symbol",
162
+ "outputs": [
163
+ {
164
+ "internalType": "string",
165
+ "name": "",
166
+ "type": "string"
167
+ }
168
+ ],
169
+ "stateMutability": "view",
170
+ "type": "function"
171
+ },
172
+ {
173
+ "inputs": [],
174
+ "name": "totalSupply",
175
+ "outputs": [
176
+ {
177
+ "internalType": "uint256",
178
+ "name": "",
179
+ "type": "uint256"
180
+ }
181
+ ],
182
+ "stateMutability": "view",
183
+ "type": "function"
184
+ },
185
+ {
186
+ "inputs": [
187
+ {
188
+ "internalType": "address",
189
+ "name": "to",
190
+ "type": "address"
191
+ },
192
+ {
193
+ "internalType": "uint256",
194
+ "name": "amount",
195
+ "type": "uint256"
196
+ }
197
+ ],
198
+ "name": "transfer",
199
+ "outputs": [
200
+ {
201
+ "internalType": "bool",
202
+ "name": "",
203
+ "type": "bool"
204
+ }
205
+ ],
206
+ "stateMutability": "nonpayable",
207
+ "type": "function"
208
+ },
209
+ {
210
+ "inputs": [
211
+ {
212
+ "internalType": "address",
213
+ "name": "from",
214
+ "type": "address"
215
+ },
216
+ {
217
+ "internalType": "address",
218
+ "name": "to",
219
+ "type": "address"
220
+ },
221
+ {
222
+ "internalType": "uint256",
223
+ "name": "amount",
224
+ "type": "uint256"
225
+ }
226
+ ],
227
+ "name": "transferFrom",
228
+ "outputs": [
229
+ {
230
+ "internalType": "bool",
231
+ "name": "",
232
+ "type": "bool"
233
+ }
234
+ ],
235
+ "stateMutability": "nonpayable",
236
+ "type": "function"
237
+ }
238
+ ],
239
+ "bytecode": "0x60e0604052600960a0908152684d6f636b205553444360b81b60c0526002906100289082610134565b506040805180820190915260048152635553444360e01b60208201526003906100519082610134565b506004805460ff1916600617905564e8d4a5100060055534801561007457600080fd5b50336080819052600554600091825260208290526040909120556101f3565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806100bd57607f821691505b6020821081036100dd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561012f576000816000526020600020601f850160051c8101602086101561010c5750805b601f850160051c820191505b8181101561012b57828155600101610118565b5050505b505050565b81516001600160401b0381111561014d5761014d610093565b6101618161015b84546100a9565b846100e3565b602080601f831160018114610196576000841561017e5750858301515b600019600386901b1c1916600185901b17855561012b565b600085815260208120601f198616915b828110156101c5578886015182559484019460019091019084016101a6565b50858210156101e35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6080516106c36102156000396000818161017201526103d201526106c36000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806340c10f191161007157806340c10f191461013857806370a082311461014d5780638da5cb5b1461016d57806395d89b41146101ac578063a9059cbb146101b4578063dd62ed3e146101c757600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610106578063313ce56714610119575b600080fd5b6100b66101f2565b6040516100c391906104f1565b60405180910390f35b6100df6100da36600461055c565b610280565b60405190151581526020016100c3565b6100f860055481565b6040519081526020016100c3565b6100df610114366004610586565b6102ae565b6004546101269060ff1681565b60405160ff90911681526020016100c3565b61014b61014636600461055c565b6103c7565b005b6100f861015b3660046105c2565b60006020819052908152604090205481565b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c3565b6100b661045a565b6100df6101c236600461055c565b610467565b6100f86101d53660046105e4565b600160209081526000928352604080842090915290825290205481565b600280546101ff90610617565b80601f016020809104026020016040519081016040528092919081815260200182805461022b90610617565b80156102785780601f1061024d57610100808354040283529160200191610278565b820191906000526020600020905b81548152906001019060200180831161025b57829003601f168201915b505050505081565b3360009081526001602081815260408084206001600160a01b03871685529091529091208290555b92915050565b6001600160a01b0383166000908152602081905260408120548211156102e757604051631e9acf1760e31b815260040160405180910390fd5b6001600160a01b038416600090815260016020908152604080832033845290915290205482111561032b576040516313be252b60e01b815260040160405180910390fd5b6001600160a01b03841660009081526020819052604081208054849290610353908490610667565b90915550506001600160a01b0383166000908152602081905260408120805484929061038090849061067a565b90915550506001600160a01b0384166000908152600160209081526040808320338452909152812080548492906103b8908490610667565b90915550600195945050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461041057604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0382166000908152602081905260408120805483929061043890849061067a565b925050819055508060056000828254610451919061067a565b90915550505050565b600380546101ff90610617565b3360009081526020819052604081205482111561049757604051631e9acf1760e31b815260040160405180910390fd5b33600090815260208190526040812080548492906104b6908490610667565b90915550506001600160a01b038316600090815260208190526040812080548492906104e390849061067a565b909155506001949350505050565b60006020808352835180602085015260005b8181101561051f57858101830151858201604001528201610503565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461055757600080fd5b919050565b6000806040838503121561056f57600080fd5b61057883610540565b946020939093013593505050565b60008060006060848603121561059b57600080fd5b6105a484610540565b92506105b260208501610540565b9150604084013590509250925092565b6000602082840312156105d457600080fd5b6105dd82610540565b9392505050565b600080604083850312156105f757600080fd5b61060083610540565b915061060e60208401610540565b90509250929050565b600181811c9082168061062b57607f821691505b60208210810361064b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156102a8576102a8610651565b808201808211156102a8576102a861065156fea2646970667358221220db58c45fd5c85446164b9beeace5a427c6e533e629016581b36a58740b82509864736f6c63430008180033",
240
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806340c10f191161007157806340c10f191461013857806370a082311461014d5780638da5cb5b1461016d57806395d89b41146101ac578063a9059cbb146101b4578063dd62ed3e146101c757600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610106578063313ce56714610119575b600080fd5b6100b66101f2565b6040516100c391906104f1565b60405180910390f35b6100df6100da36600461055c565b610280565b60405190151581526020016100c3565b6100f860055481565b6040519081526020016100c3565b6100df610114366004610586565b6102ae565b6004546101269060ff1681565b60405160ff90911681526020016100c3565b61014b61014636600461055c565b6103c7565b005b6100f861015b3660046105c2565b60006020819052908152604090205481565b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c3565b6100b661045a565b6100df6101c236600461055c565b610467565b6100f86101d53660046105e4565b600160209081526000928352604080842090915290825290205481565b600280546101ff90610617565b80601f016020809104026020016040519081016040528092919081815260200182805461022b90610617565b80156102785780601f1061024d57610100808354040283529160200191610278565b820191906000526020600020905b81548152906001019060200180831161025b57829003601f168201915b505050505081565b3360009081526001602081815260408084206001600160a01b03871685529091529091208290555b92915050565b6001600160a01b0383166000908152602081905260408120548211156102e757604051631e9acf1760e31b815260040160405180910390fd5b6001600160a01b038416600090815260016020908152604080832033845290915290205482111561032b576040516313be252b60e01b815260040160405180910390fd5b6001600160a01b03841660009081526020819052604081208054849290610353908490610667565b90915550506001600160a01b0383166000908152602081905260408120805484929061038090849061067a565b90915550506001600160a01b0384166000908152600160209081526040808320338452909152812080548492906103b8908490610667565b90915550600195945050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461041057604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0382166000908152602081905260408120805483929061043890849061067a565b925050819055508060056000828254610451919061067a565b90915550505050565b600380546101ff90610617565b3360009081526020819052604081205482111561049757604051631e9acf1760e31b815260040160405180910390fd5b33600090815260208190526040812080548492906104b6908490610667565b90915550506001600160a01b038316600090815260208190526040812080548492906104e390849061067a565b909155506001949350505050565b60006020808352835180602085015260005b8181101561051f57858101830151858201604001528201610503565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461055757600080fd5b919050565b6000806040838503121561056f57600080fd5b61057883610540565b946020939093013593505050565b60008060006060848603121561059b57600080fd5b6105a484610540565b92506105b260208501610540565b9150604084013590509250925092565b6000602082840312156105d457600080fd5b6105dd82610540565b9392505050565b600080604083850312156105f757600080fd5b61060083610540565b915061060e60208401610540565b90509250929050565b600181811c9082168061062b57607f821691505b60208210810361064b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156102a8576102a8610651565b808201808211156102a8576102a861065156fea2646970667358221220db58c45fd5c85446164b9beeace5a427c6e533e629016581b36a58740b82509864736f6c63430008180033",
241
+ "linkReferences": {},
242
+ "deployedLinkReferences": {}
243
+ }
244
+
245
+ declare module "@nomicfoundation/hardhat-viem/types" {
246
+ export function deployContract(
247
+ contractName: "MockUSDC",
248
+ constructorArgs?: [],
249
+ config?: DeployContractConfig
250
+ ): Promise<GetContractReturnType<MockUSDC$Type["abi"]>>;
251
+ export function deployContract(
252
+ contractName: "contracts/MockUSDC.sol:MockUSDC",
253
+ constructorArgs?: [],
254
+ config?: DeployContractConfig
255
+ ): Promise<GetContractReturnType<MockUSDC$Type["abi"]>>;
256
+
257
+ export function sendDeploymentTransaction(
258
+ contractName: "MockUSDC",
259
+ constructorArgs?: [],
260
+ config?: SendDeploymentTransactionConfig
261
+ ): Promise<{
262
+ contract: GetContractReturnType<MockUSDC$Type["abi"]>;
263
+ deploymentTransaction: GetTransactionReturnType;
264
+ }>;
265
+ export function sendDeploymentTransaction(
266
+ contractName: "contracts/MockUSDC.sol:MockUSDC",
267
+ constructorArgs?: [],
268
+ config?: SendDeploymentTransactionConfig
269
+ ): Promise<{
270
+ contract: GetContractReturnType<MockUSDC$Type["abi"]>;
271
+ deploymentTransaction: GetTransactionReturnType;
272
+ }>;
273
+
274
+ export function getContractAt(
275
+ contractName: "MockUSDC",
276
+ address: Address,
277
+ config?: GetContractAtConfig
278
+ ): Promise<GetContractReturnType<MockUSDC$Type["abi"]>>;
279
+ export function getContractAt(
280
+ contractName: "contracts/MockUSDC.sol:MockUSDC",
281
+ address: Address,
282
+ config?: GetContractAtConfig
283
+ ): Promise<GetContractReturnType<MockUSDC$Type["abi"]>>;
284
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../build-info/d7322d68004081a3e580abdf0ce77626.json"
3
+ "buildInfo": "../../build-info/c8387dc39d490e60640b5a6e773f16b6.json"
4
4
  }
@@ -0,0 +1,21 @@
1
+ // This file was autogenerated by hardhat-viem, do not edit it.
2
+ // prettier-ignore
3
+ // tslint:disable
4
+ // eslint-disable
5
+
6
+ import "hardhat/types/artifacts";
7
+ import type { GetContractReturnType } from "@nomicfoundation/hardhat-viem/types";
8
+
9
+ import { MockUSDC$Type } from "./MockUSDC";
10
+
11
+ declare module "hardhat/types/artifacts" {
12
+ interface ArtifactsMap {
13
+ ["MockUSDC"]: MockUSDC$Type;
14
+ ["contracts/MockUSDC.sol:MockUSDC"]: MockUSDC$Type;
15
+ }
16
+
17
+ interface ContractTypesMap {
18
+ ["MockUSDC"]: GetContractReturnType<MockUSDC$Type["abi"]>;
19
+ ["contracts/MockUSDC.sol:MockUSDC"]: GetContractReturnType<MockUSDC$Type["abi"]>;
20
+ }
21
+ }