@ember-finance/sdk 2.0.1 → 2.0.3

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 (36) hide show
  1. package/dist/src/abis/EmberETHVault.json +343 -2
  2. package/dist/src/abis/EmberProtocolConfig.json +61 -2
  3. package/dist/src/abis/EmberVault.json +343 -2
  4. package/dist/src/abis/EmberVaultMintBurnOFTAdapter.json +1382 -0
  5. package/dist/src/abis/index.d.ts +3 -1
  6. package/dist/src/abis/index.js +3 -1
  7. package/dist/src/api/v2/models/chain.d.ts +6 -0
  8. package/dist/src/api/v2/models/evm-contracts.d.ts +9 -0
  9. package/dist/src/api/v2/models/evm-oftadapter.d.ts +93 -0
  10. package/dist/src/api/v2/models/evm-oftadapter.js +14 -0
  11. package/dist/src/api/v2/models/evm-oftpeer.d.ts +48 -0
  12. package/dist/src/api/v2/models/evm-oftpeer.js +14 -0
  13. package/dist/src/api/v2/models/evm-protocol-config.d.ts +6 -0
  14. package/dist/src/api/v2/models/evm-vault.d.ts +24 -0
  15. package/dist/src/api/v2/models/index.d.ts +2 -0
  16. package/dist/src/api/v2/models/index.js +2 -0
  17. package/dist/src/common/constants.d.ts +8 -0
  18. package/dist/src/common/constants.js +11 -0
  19. package/dist/src/ember-vaults.d.ts +7 -8
  20. package/dist/src/ember-vaults.js +2 -12
  21. package/dist/src/evm-vaults/index.d.ts +12 -0
  22. package/dist/src/evm-vaults/index.js +18 -0
  23. package/dist/src/evm-vaults/interfaces/index.d.ts +92 -47
  24. package/dist/src/evm-vaults/on-chain-calls/admin.d.ts +2 -2
  25. package/dist/src/evm-vaults/on-chain-calls/onchain-calls.d.ts +3 -3
  26. package/dist/src/evm-vaults/on-chain-calls/operator.d.ts +2 -2
  27. package/dist/src/evm-vaults/on-chain-calls/tx-builder.d.ts +22 -3
  28. package/dist/src/evm-vaults/on-chain-calls/tx-builder.js +49 -0
  29. package/dist/src/evm-vaults/on-chain-calls/user.d.ts +18 -2
  30. package/dist/src/evm-vaults/on-chain-calls/user.js +54 -1
  31. package/dist/src/evm-vaults/on-chain-calls/vault-admin.d.ts +2 -2
  32. package/dist/src/evm-vaults/on-chain-calls/vault-reader.d.ts +37 -3
  33. package/dist/src/evm-vaults/on-chain-calls/vault-reader.js +108 -2
  34. package/dist/src/evm-vaults/utils/deployment-parser.d.ts +14 -8
  35. package/dist/src/evm-vaults/utils/deployment-parser.js +21 -10
  36. package/package.json +1 -1
@@ -0,0 +1,1382 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "EmberVaultMintBurnOFTAdapter",
4
+ "sourceName": "contracts/EmberVaultMintBurnOFTAdapter.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_token",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_lzEndpoint",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_delegate",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "amountSD",
32
+ "type": "uint256"
33
+ }
34
+ ],
35
+ "name": "AmountSDOverflowed",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [],
40
+ "name": "ComposeNotSupported",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "EnforcedPause",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [],
50
+ "name": "ExpectedPause",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [],
55
+ "name": "InvalidDelegate",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [],
60
+ "name": "InvalidEndpointCall",
61
+ "type": "error"
62
+ },
63
+ {
64
+ "inputs": [],
65
+ "name": "InvalidLocalDecimals",
66
+ "type": "error"
67
+ },
68
+ {
69
+ "inputs": [],
70
+ "name": "InvalidMsgInspector",
71
+ "type": "error"
72
+ },
73
+ {
74
+ "inputs": [
75
+ {
76
+ "internalType": "bytes",
77
+ "name": "options",
78
+ "type": "bytes"
79
+ }
80
+ ],
81
+ "name": "InvalidOptions",
82
+ "type": "error"
83
+ },
84
+ {
85
+ "inputs": [],
86
+ "name": "LzTokenUnavailable",
87
+ "type": "error"
88
+ },
89
+ {
90
+ "inputs": [
91
+ {
92
+ "internalType": "uint32",
93
+ "name": "eid",
94
+ "type": "uint32"
95
+ }
96
+ ],
97
+ "name": "NoPeer",
98
+ "type": "error"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "uint256",
104
+ "name": "msgValue",
105
+ "type": "uint256"
106
+ }
107
+ ],
108
+ "name": "NotEnoughNative",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "inputs": [
113
+ {
114
+ "internalType": "address",
115
+ "name": "addr",
116
+ "type": "address"
117
+ }
118
+ ],
119
+ "name": "OnlyEndpoint",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [
124
+ {
125
+ "internalType": "uint32",
126
+ "name": "eid",
127
+ "type": "uint32"
128
+ },
129
+ {
130
+ "internalType": "bytes32",
131
+ "name": "sender",
132
+ "type": "bytes32"
133
+ }
134
+ ],
135
+ "name": "OnlyPeer",
136
+ "type": "error"
137
+ },
138
+ {
139
+ "inputs": [],
140
+ "name": "OnlySelf",
141
+ "type": "error"
142
+ },
143
+ {
144
+ "inputs": [
145
+ {
146
+ "internalType": "address",
147
+ "name": "owner",
148
+ "type": "address"
149
+ }
150
+ ],
151
+ "name": "OwnableInvalidOwner",
152
+ "type": "error"
153
+ },
154
+ {
155
+ "inputs": [
156
+ {
157
+ "internalType": "address",
158
+ "name": "account",
159
+ "type": "address"
160
+ }
161
+ ],
162
+ "name": "OwnableUnauthorizedAccount",
163
+ "type": "error"
164
+ },
165
+ {
166
+ "inputs": [
167
+ {
168
+ "internalType": "address",
169
+ "name": "token",
170
+ "type": "address"
171
+ }
172
+ ],
173
+ "name": "SafeERC20FailedOperation",
174
+ "type": "error"
175
+ },
176
+ {
177
+ "inputs": [
178
+ {
179
+ "internalType": "bytes",
180
+ "name": "result",
181
+ "type": "bytes"
182
+ }
183
+ ],
184
+ "name": "SimulationResult",
185
+ "type": "error"
186
+ },
187
+ {
188
+ "inputs": [
189
+ {
190
+ "internalType": "uint256",
191
+ "name": "amountLD",
192
+ "type": "uint256"
193
+ },
194
+ {
195
+ "internalType": "uint256",
196
+ "name": "minAmountLD",
197
+ "type": "uint256"
198
+ }
199
+ ],
200
+ "name": "SlippageExceeded",
201
+ "type": "error"
202
+ },
203
+ {
204
+ "anonymous": false,
205
+ "inputs": [
206
+ {
207
+ "components": [
208
+ {
209
+ "internalType": "uint32",
210
+ "name": "eid",
211
+ "type": "uint32"
212
+ },
213
+ {
214
+ "internalType": "uint16",
215
+ "name": "msgType",
216
+ "type": "uint16"
217
+ },
218
+ {
219
+ "internalType": "bytes",
220
+ "name": "options",
221
+ "type": "bytes"
222
+ }
223
+ ],
224
+ "indexed": false,
225
+ "internalType": "struct EnforcedOptionParam[]",
226
+ "name": "_enforcedOptions",
227
+ "type": "tuple[]"
228
+ }
229
+ ],
230
+ "name": "EnforcedOptionSet",
231
+ "type": "event"
232
+ },
233
+ {
234
+ "anonymous": false,
235
+ "inputs": [
236
+ {
237
+ "indexed": false,
238
+ "internalType": "address",
239
+ "name": "inspector",
240
+ "type": "address"
241
+ }
242
+ ],
243
+ "name": "MsgInspectorSet",
244
+ "type": "event"
245
+ },
246
+ {
247
+ "anonymous": false,
248
+ "inputs": [
249
+ {
250
+ "indexed": true,
251
+ "internalType": "bytes32",
252
+ "name": "guid",
253
+ "type": "bytes32"
254
+ },
255
+ {
256
+ "indexed": false,
257
+ "internalType": "uint32",
258
+ "name": "srcEid",
259
+ "type": "uint32"
260
+ },
261
+ {
262
+ "indexed": true,
263
+ "internalType": "address",
264
+ "name": "toAddress",
265
+ "type": "address"
266
+ },
267
+ {
268
+ "indexed": false,
269
+ "internalType": "uint256",
270
+ "name": "amountReceivedLD",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "name": "OFTReceived",
275
+ "type": "event"
276
+ },
277
+ {
278
+ "anonymous": false,
279
+ "inputs": [
280
+ {
281
+ "indexed": true,
282
+ "internalType": "bytes32",
283
+ "name": "guid",
284
+ "type": "bytes32"
285
+ },
286
+ {
287
+ "indexed": false,
288
+ "internalType": "uint32",
289
+ "name": "dstEid",
290
+ "type": "uint32"
291
+ },
292
+ {
293
+ "indexed": true,
294
+ "internalType": "address",
295
+ "name": "fromAddress",
296
+ "type": "address"
297
+ },
298
+ {
299
+ "indexed": false,
300
+ "internalType": "uint256",
301
+ "name": "amountSentLD",
302
+ "type": "uint256"
303
+ },
304
+ {
305
+ "indexed": false,
306
+ "internalType": "uint256",
307
+ "name": "amountReceivedLD",
308
+ "type": "uint256"
309
+ }
310
+ ],
311
+ "name": "OFTSent",
312
+ "type": "event"
313
+ },
314
+ {
315
+ "anonymous": false,
316
+ "inputs": [
317
+ {
318
+ "indexed": true,
319
+ "internalType": "address",
320
+ "name": "previousOwner",
321
+ "type": "address"
322
+ },
323
+ {
324
+ "indexed": true,
325
+ "internalType": "address",
326
+ "name": "newOwner",
327
+ "type": "address"
328
+ }
329
+ ],
330
+ "name": "OwnershipTransferred",
331
+ "type": "event"
332
+ },
333
+ {
334
+ "anonymous": false,
335
+ "inputs": [
336
+ {
337
+ "indexed": false,
338
+ "internalType": "address",
339
+ "name": "account",
340
+ "type": "address"
341
+ }
342
+ ],
343
+ "name": "Paused",
344
+ "type": "event"
345
+ },
346
+ {
347
+ "anonymous": false,
348
+ "inputs": [
349
+ {
350
+ "indexed": false,
351
+ "internalType": "uint32",
352
+ "name": "eid",
353
+ "type": "uint32"
354
+ },
355
+ {
356
+ "indexed": false,
357
+ "internalType": "bytes32",
358
+ "name": "peer",
359
+ "type": "bytes32"
360
+ }
361
+ ],
362
+ "name": "PeerSet",
363
+ "type": "event"
364
+ },
365
+ {
366
+ "anonymous": false,
367
+ "inputs": [
368
+ {
369
+ "indexed": false,
370
+ "internalType": "address",
371
+ "name": "preCrimeAddress",
372
+ "type": "address"
373
+ }
374
+ ],
375
+ "name": "PreCrimeSet",
376
+ "type": "event"
377
+ },
378
+ {
379
+ "anonymous": false,
380
+ "inputs": [
381
+ {
382
+ "indexed": false,
383
+ "internalType": "address",
384
+ "name": "account",
385
+ "type": "address"
386
+ }
387
+ ],
388
+ "name": "Unpaused",
389
+ "type": "event"
390
+ },
391
+ {
392
+ "inputs": [],
393
+ "name": "SEND",
394
+ "outputs": [
395
+ {
396
+ "internalType": "uint16",
397
+ "name": "",
398
+ "type": "uint16"
399
+ }
400
+ ],
401
+ "stateMutability": "view",
402
+ "type": "function"
403
+ },
404
+ {
405
+ "inputs": [
406
+ {
407
+ "components": [
408
+ {
409
+ "internalType": "uint32",
410
+ "name": "srcEid",
411
+ "type": "uint32"
412
+ },
413
+ {
414
+ "internalType": "bytes32",
415
+ "name": "sender",
416
+ "type": "bytes32"
417
+ },
418
+ {
419
+ "internalType": "uint64",
420
+ "name": "nonce",
421
+ "type": "uint64"
422
+ }
423
+ ],
424
+ "internalType": "struct Origin",
425
+ "name": "origin",
426
+ "type": "tuple"
427
+ }
428
+ ],
429
+ "name": "allowInitializePath",
430
+ "outputs": [
431
+ {
432
+ "internalType": "bool",
433
+ "name": "",
434
+ "type": "bool"
435
+ }
436
+ ],
437
+ "stateMutability": "view",
438
+ "type": "function"
439
+ },
440
+ {
441
+ "inputs": [],
442
+ "name": "approvalRequired",
443
+ "outputs": [
444
+ {
445
+ "internalType": "bool",
446
+ "name": "",
447
+ "type": "bool"
448
+ }
449
+ ],
450
+ "stateMutability": "pure",
451
+ "type": "function"
452
+ },
453
+ {
454
+ "inputs": [],
455
+ "name": "bridgeableToken",
456
+ "outputs": [
457
+ {
458
+ "internalType": "contract IBridgeable",
459
+ "name": "",
460
+ "type": "address"
461
+ }
462
+ ],
463
+ "stateMutability": "view",
464
+ "type": "function"
465
+ },
466
+ {
467
+ "inputs": [
468
+ {
469
+ "internalType": "uint32",
470
+ "name": "_eid",
471
+ "type": "uint32"
472
+ },
473
+ {
474
+ "internalType": "uint16",
475
+ "name": "_msgType",
476
+ "type": "uint16"
477
+ },
478
+ {
479
+ "internalType": "bytes",
480
+ "name": "_extraOptions",
481
+ "type": "bytes"
482
+ }
483
+ ],
484
+ "name": "combineOptions",
485
+ "outputs": [
486
+ {
487
+ "internalType": "bytes",
488
+ "name": "",
489
+ "type": "bytes"
490
+ }
491
+ ],
492
+ "stateMutability": "view",
493
+ "type": "function"
494
+ },
495
+ {
496
+ "inputs": [],
497
+ "name": "decimalConversionRate",
498
+ "outputs": [
499
+ {
500
+ "internalType": "uint256",
501
+ "name": "",
502
+ "type": "uint256"
503
+ }
504
+ ],
505
+ "stateMutability": "view",
506
+ "type": "function"
507
+ },
508
+ {
509
+ "inputs": [],
510
+ "name": "endpoint",
511
+ "outputs": [
512
+ {
513
+ "internalType": "contract ILayerZeroEndpointV2",
514
+ "name": "",
515
+ "type": "address"
516
+ }
517
+ ],
518
+ "stateMutability": "view",
519
+ "type": "function"
520
+ },
521
+ {
522
+ "inputs": [
523
+ {
524
+ "internalType": "uint32",
525
+ "name": "eid",
526
+ "type": "uint32"
527
+ },
528
+ {
529
+ "internalType": "uint16",
530
+ "name": "msgType",
531
+ "type": "uint16"
532
+ }
533
+ ],
534
+ "name": "enforcedOptions",
535
+ "outputs": [
536
+ {
537
+ "internalType": "bytes",
538
+ "name": "enforcedOption",
539
+ "type": "bytes"
540
+ }
541
+ ],
542
+ "stateMutability": "view",
543
+ "type": "function"
544
+ },
545
+ {
546
+ "inputs": [
547
+ {
548
+ "components": [
549
+ {
550
+ "internalType": "uint32",
551
+ "name": "srcEid",
552
+ "type": "uint32"
553
+ },
554
+ {
555
+ "internalType": "bytes32",
556
+ "name": "sender",
557
+ "type": "bytes32"
558
+ },
559
+ {
560
+ "internalType": "uint64",
561
+ "name": "nonce",
562
+ "type": "uint64"
563
+ }
564
+ ],
565
+ "internalType": "struct Origin",
566
+ "name": "",
567
+ "type": "tuple"
568
+ },
569
+ {
570
+ "internalType": "bytes",
571
+ "name": "",
572
+ "type": "bytes"
573
+ },
574
+ {
575
+ "internalType": "address",
576
+ "name": "_sender",
577
+ "type": "address"
578
+ }
579
+ ],
580
+ "name": "isComposeMsgSender",
581
+ "outputs": [
582
+ {
583
+ "internalType": "bool",
584
+ "name": "",
585
+ "type": "bool"
586
+ }
587
+ ],
588
+ "stateMutability": "view",
589
+ "type": "function"
590
+ },
591
+ {
592
+ "inputs": [
593
+ {
594
+ "internalType": "uint32",
595
+ "name": "_eid",
596
+ "type": "uint32"
597
+ },
598
+ {
599
+ "internalType": "bytes32",
600
+ "name": "_peer",
601
+ "type": "bytes32"
602
+ }
603
+ ],
604
+ "name": "isPeer",
605
+ "outputs": [
606
+ {
607
+ "internalType": "bool",
608
+ "name": "",
609
+ "type": "bool"
610
+ }
611
+ ],
612
+ "stateMutability": "view",
613
+ "type": "function"
614
+ },
615
+ {
616
+ "inputs": [
617
+ {
618
+ "components": [
619
+ {
620
+ "internalType": "uint32",
621
+ "name": "srcEid",
622
+ "type": "uint32"
623
+ },
624
+ {
625
+ "internalType": "bytes32",
626
+ "name": "sender",
627
+ "type": "bytes32"
628
+ },
629
+ {
630
+ "internalType": "uint64",
631
+ "name": "nonce",
632
+ "type": "uint64"
633
+ }
634
+ ],
635
+ "internalType": "struct Origin",
636
+ "name": "_origin",
637
+ "type": "tuple"
638
+ },
639
+ {
640
+ "internalType": "bytes32",
641
+ "name": "_guid",
642
+ "type": "bytes32"
643
+ },
644
+ {
645
+ "internalType": "bytes",
646
+ "name": "_message",
647
+ "type": "bytes"
648
+ },
649
+ {
650
+ "internalType": "address",
651
+ "name": "_executor",
652
+ "type": "address"
653
+ },
654
+ {
655
+ "internalType": "bytes",
656
+ "name": "_extraData",
657
+ "type": "bytes"
658
+ }
659
+ ],
660
+ "name": "lzReceive",
661
+ "outputs": [],
662
+ "stateMutability": "payable",
663
+ "type": "function"
664
+ },
665
+ {
666
+ "inputs": [
667
+ {
668
+ "components": [
669
+ {
670
+ "components": [
671
+ {
672
+ "internalType": "uint32",
673
+ "name": "srcEid",
674
+ "type": "uint32"
675
+ },
676
+ {
677
+ "internalType": "bytes32",
678
+ "name": "sender",
679
+ "type": "bytes32"
680
+ },
681
+ {
682
+ "internalType": "uint64",
683
+ "name": "nonce",
684
+ "type": "uint64"
685
+ }
686
+ ],
687
+ "internalType": "struct Origin",
688
+ "name": "origin",
689
+ "type": "tuple"
690
+ },
691
+ {
692
+ "internalType": "uint32",
693
+ "name": "dstEid",
694
+ "type": "uint32"
695
+ },
696
+ {
697
+ "internalType": "address",
698
+ "name": "receiver",
699
+ "type": "address"
700
+ },
701
+ {
702
+ "internalType": "bytes32",
703
+ "name": "guid",
704
+ "type": "bytes32"
705
+ },
706
+ {
707
+ "internalType": "uint256",
708
+ "name": "value",
709
+ "type": "uint256"
710
+ },
711
+ {
712
+ "internalType": "address",
713
+ "name": "executor",
714
+ "type": "address"
715
+ },
716
+ {
717
+ "internalType": "bytes",
718
+ "name": "message",
719
+ "type": "bytes"
720
+ },
721
+ {
722
+ "internalType": "bytes",
723
+ "name": "extraData",
724
+ "type": "bytes"
725
+ }
726
+ ],
727
+ "internalType": "struct InboundPacket[]",
728
+ "name": "_packets",
729
+ "type": "tuple[]"
730
+ }
731
+ ],
732
+ "name": "lzReceiveAndRevert",
733
+ "outputs": [],
734
+ "stateMutability": "payable",
735
+ "type": "function"
736
+ },
737
+ {
738
+ "inputs": [
739
+ {
740
+ "components": [
741
+ {
742
+ "internalType": "uint32",
743
+ "name": "srcEid",
744
+ "type": "uint32"
745
+ },
746
+ {
747
+ "internalType": "bytes32",
748
+ "name": "sender",
749
+ "type": "bytes32"
750
+ },
751
+ {
752
+ "internalType": "uint64",
753
+ "name": "nonce",
754
+ "type": "uint64"
755
+ }
756
+ ],
757
+ "internalType": "struct Origin",
758
+ "name": "_origin",
759
+ "type": "tuple"
760
+ },
761
+ {
762
+ "internalType": "bytes32",
763
+ "name": "_guid",
764
+ "type": "bytes32"
765
+ },
766
+ {
767
+ "internalType": "bytes",
768
+ "name": "_message",
769
+ "type": "bytes"
770
+ },
771
+ {
772
+ "internalType": "address",
773
+ "name": "_executor",
774
+ "type": "address"
775
+ },
776
+ {
777
+ "internalType": "bytes",
778
+ "name": "_extraData",
779
+ "type": "bytes"
780
+ }
781
+ ],
782
+ "name": "lzReceiveSimulate",
783
+ "outputs": [],
784
+ "stateMutability": "payable",
785
+ "type": "function"
786
+ },
787
+ {
788
+ "inputs": [],
789
+ "name": "msgInspector",
790
+ "outputs": [
791
+ {
792
+ "internalType": "address",
793
+ "name": "",
794
+ "type": "address"
795
+ }
796
+ ],
797
+ "stateMutability": "view",
798
+ "type": "function"
799
+ },
800
+ {
801
+ "inputs": [
802
+ {
803
+ "internalType": "uint32",
804
+ "name": "",
805
+ "type": "uint32"
806
+ },
807
+ {
808
+ "internalType": "bytes32",
809
+ "name": "",
810
+ "type": "bytes32"
811
+ }
812
+ ],
813
+ "name": "nextNonce",
814
+ "outputs": [
815
+ {
816
+ "internalType": "uint64",
817
+ "name": "nonce",
818
+ "type": "uint64"
819
+ }
820
+ ],
821
+ "stateMutability": "view",
822
+ "type": "function"
823
+ },
824
+ {
825
+ "inputs": [],
826
+ "name": "oApp",
827
+ "outputs": [
828
+ {
829
+ "internalType": "address",
830
+ "name": "",
831
+ "type": "address"
832
+ }
833
+ ],
834
+ "stateMutability": "view",
835
+ "type": "function"
836
+ },
837
+ {
838
+ "inputs": [],
839
+ "name": "oAppVersion",
840
+ "outputs": [
841
+ {
842
+ "internalType": "uint64",
843
+ "name": "senderVersion",
844
+ "type": "uint64"
845
+ },
846
+ {
847
+ "internalType": "uint64",
848
+ "name": "receiverVersion",
849
+ "type": "uint64"
850
+ }
851
+ ],
852
+ "stateMutability": "pure",
853
+ "type": "function"
854
+ },
855
+ {
856
+ "inputs": [],
857
+ "name": "oftVersion",
858
+ "outputs": [
859
+ {
860
+ "internalType": "bytes4",
861
+ "name": "interfaceId",
862
+ "type": "bytes4"
863
+ },
864
+ {
865
+ "internalType": "uint64",
866
+ "name": "version",
867
+ "type": "uint64"
868
+ }
869
+ ],
870
+ "stateMutability": "pure",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [],
875
+ "name": "owner",
876
+ "outputs": [
877
+ {
878
+ "internalType": "address",
879
+ "name": "",
880
+ "type": "address"
881
+ }
882
+ ],
883
+ "stateMutability": "view",
884
+ "type": "function"
885
+ },
886
+ {
887
+ "inputs": [],
888
+ "name": "pause",
889
+ "outputs": [],
890
+ "stateMutability": "nonpayable",
891
+ "type": "function"
892
+ },
893
+ {
894
+ "inputs": [],
895
+ "name": "paused",
896
+ "outputs": [
897
+ {
898
+ "internalType": "bool",
899
+ "name": "",
900
+ "type": "bool"
901
+ }
902
+ ],
903
+ "stateMutability": "view",
904
+ "type": "function"
905
+ },
906
+ {
907
+ "inputs": [
908
+ {
909
+ "internalType": "uint32",
910
+ "name": "eid",
911
+ "type": "uint32"
912
+ }
913
+ ],
914
+ "name": "peers",
915
+ "outputs": [
916
+ {
917
+ "internalType": "bytes32",
918
+ "name": "peer",
919
+ "type": "bytes32"
920
+ }
921
+ ],
922
+ "stateMutability": "view",
923
+ "type": "function"
924
+ },
925
+ {
926
+ "inputs": [],
927
+ "name": "preCrime",
928
+ "outputs": [
929
+ {
930
+ "internalType": "address",
931
+ "name": "",
932
+ "type": "address"
933
+ }
934
+ ],
935
+ "stateMutability": "view",
936
+ "type": "function"
937
+ },
938
+ {
939
+ "inputs": [
940
+ {
941
+ "components": [
942
+ {
943
+ "internalType": "uint32",
944
+ "name": "dstEid",
945
+ "type": "uint32"
946
+ },
947
+ {
948
+ "internalType": "bytes32",
949
+ "name": "to",
950
+ "type": "bytes32"
951
+ },
952
+ {
953
+ "internalType": "uint256",
954
+ "name": "amountLD",
955
+ "type": "uint256"
956
+ },
957
+ {
958
+ "internalType": "uint256",
959
+ "name": "minAmountLD",
960
+ "type": "uint256"
961
+ },
962
+ {
963
+ "internalType": "bytes",
964
+ "name": "extraOptions",
965
+ "type": "bytes"
966
+ },
967
+ {
968
+ "internalType": "bytes",
969
+ "name": "composeMsg",
970
+ "type": "bytes"
971
+ },
972
+ {
973
+ "internalType": "bytes",
974
+ "name": "oftCmd",
975
+ "type": "bytes"
976
+ }
977
+ ],
978
+ "internalType": "struct SendParam",
979
+ "name": "_sendParam",
980
+ "type": "tuple"
981
+ }
982
+ ],
983
+ "name": "quoteOFT",
984
+ "outputs": [
985
+ {
986
+ "components": [
987
+ {
988
+ "internalType": "uint256",
989
+ "name": "minAmountLD",
990
+ "type": "uint256"
991
+ },
992
+ {
993
+ "internalType": "uint256",
994
+ "name": "maxAmountLD",
995
+ "type": "uint256"
996
+ }
997
+ ],
998
+ "internalType": "struct OFTLimit",
999
+ "name": "oftLimit",
1000
+ "type": "tuple"
1001
+ },
1002
+ {
1003
+ "components": [
1004
+ {
1005
+ "internalType": "int256",
1006
+ "name": "feeAmountLD",
1007
+ "type": "int256"
1008
+ },
1009
+ {
1010
+ "internalType": "string",
1011
+ "name": "description",
1012
+ "type": "string"
1013
+ }
1014
+ ],
1015
+ "internalType": "struct OFTFeeDetail[]",
1016
+ "name": "oftFeeDetails",
1017
+ "type": "tuple[]"
1018
+ },
1019
+ {
1020
+ "components": [
1021
+ {
1022
+ "internalType": "uint256",
1023
+ "name": "amountSentLD",
1024
+ "type": "uint256"
1025
+ },
1026
+ {
1027
+ "internalType": "uint256",
1028
+ "name": "amountReceivedLD",
1029
+ "type": "uint256"
1030
+ }
1031
+ ],
1032
+ "internalType": "struct OFTReceipt",
1033
+ "name": "oftReceipt",
1034
+ "type": "tuple"
1035
+ }
1036
+ ],
1037
+ "stateMutability": "view",
1038
+ "type": "function"
1039
+ },
1040
+ {
1041
+ "inputs": [
1042
+ {
1043
+ "components": [
1044
+ {
1045
+ "internalType": "uint32",
1046
+ "name": "dstEid",
1047
+ "type": "uint32"
1048
+ },
1049
+ {
1050
+ "internalType": "bytes32",
1051
+ "name": "to",
1052
+ "type": "bytes32"
1053
+ },
1054
+ {
1055
+ "internalType": "uint256",
1056
+ "name": "amountLD",
1057
+ "type": "uint256"
1058
+ },
1059
+ {
1060
+ "internalType": "uint256",
1061
+ "name": "minAmountLD",
1062
+ "type": "uint256"
1063
+ },
1064
+ {
1065
+ "internalType": "bytes",
1066
+ "name": "extraOptions",
1067
+ "type": "bytes"
1068
+ },
1069
+ {
1070
+ "internalType": "bytes",
1071
+ "name": "composeMsg",
1072
+ "type": "bytes"
1073
+ },
1074
+ {
1075
+ "internalType": "bytes",
1076
+ "name": "oftCmd",
1077
+ "type": "bytes"
1078
+ }
1079
+ ],
1080
+ "internalType": "struct SendParam",
1081
+ "name": "_sendParam",
1082
+ "type": "tuple"
1083
+ },
1084
+ {
1085
+ "internalType": "bool",
1086
+ "name": "_payInLzToken",
1087
+ "type": "bool"
1088
+ }
1089
+ ],
1090
+ "name": "quoteSend",
1091
+ "outputs": [
1092
+ {
1093
+ "components": [
1094
+ {
1095
+ "internalType": "uint256",
1096
+ "name": "nativeFee",
1097
+ "type": "uint256"
1098
+ },
1099
+ {
1100
+ "internalType": "uint256",
1101
+ "name": "lzTokenFee",
1102
+ "type": "uint256"
1103
+ }
1104
+ ],
1105
+ "internalType": "struct MessagingFee",
1106
+ "name": "msgFee",
1107
+ "type": "tuple"
1108
+ }
1109
+ ],
1110
+ "stateMutability": "view",
1111
+ "type": "function"
1112
+ },
1113
+ {
1114
+ "inputs": [],
1115
+ "name": "renounceOwnership",
1116
+ "outputs": [],
1117
+ "stateMutability": "nonpayable",
1118
+ "type": "function"
1119
+ },
1120
+ {
1121
+ "inputs": [
1122
+ {
1123
+ "components": [
1124
+ {
1125
+ "internalType": "uint32",
1126
+ "name": "dstEid",
1127
+ "type": "uint32"
1128
+ },
1129
+ {
1130
+ "internalType": "bytes32",
1131
+ "name": "to",
1132
+ "type": "bytes32"
1133
+ },
1134
+ {
1135
+ "internalType": "uint256",
1136
+ "name": "amountLD",
1137
+ "type": "uint256"
1138
+ },
1139
+ {
1140
+ "internalType": "uint256",
1141
+ "name": "minAmountLD",
1142
+ "type": "uint256"
1143
+ },
1144
+ {
1145
+ "internalType": "bytes",
1146
+ "name": "extraOptions",
1147
+ "type": "bytes"
1148
+ },
1149
+ {
1150
+ "internalType": "bytes",
1151
+ "name": "composeMsg",
1152
+ "type": "bytes"
1153
+ },
1154
+ {
1155
+ "internalType": "bytes",
1156
+ "name": "oftCmd",
1157
+ "type": "bytes"
1158
+ }
1159
+ ],
1160
+ "internalType": "struct SendParam",
1161
+ "name": "_sendParam",
1162
+ "type": "tuple"
1163
+ },
1164
+ {
1165
+ "components": [
1166
+ {
1167
+ "internalType": "uint256",
1168
+ "name": "nativeFee",
1169
+ "type": "uint256"
1170
+ },
1171
+ {
1172
+ "internalType": "uint256",
1173
+ "name": "lzTokenFee",
1174
+ "type": "uint256"
1175
+ }
1176
+ ],
1177
+ "internalType": "struct MessagingFee",
1178
+ "name": "_fee",
1179
+ "type": "tuple"
1180
+ },
1181
+ {
1182
+ "internalType": "address",
1183
+ "name": "_refundAddress",
1184
+ "type": "address"
1185
+ }
1186
+ ],
1187
+ "name": "send",
1188
+ "outputs": [
1189
+ {
1190
+ "components": [
1191
+ {
1192
+ "internalType": "bytes32",
1193
+ "name": "guid",
1194
+ "type": "bytes32"
1195
+ },
1196
+ {
1197
+ "internalType": "uint64",
1198
+ "name": "nonce",
1199
+ "type": "uint64"
1200
+ },
1201
+ {
1202
+ "components": [
1203
+ {
1204
+ "internalType": "uint256",
1205
+ "name": "nativeFee",
1206
+ "type": "uint256"
1207
+ },
1208
+ {
1209
+ "internalType": "uint256",
1210
+ "name": "lzTokenFee",
1211
+ "type": "uint256"
1212
+ }
1213
+ ],
1214
+ "internalType": "struct MessagingFee",
1215
+ "name": "fee",
1216
+ "type": "tuple"
1217
+ }
1218
+ ],
1219
+ "internalType": "struct MessagingReceipt",
1220
+ "name": "msgReceipt",
1221
+ "type": "tuple"
1222
+ },
1223
+ {
1224
+ "components": [
1225
+ {
1226
+ "internalType": "uint256",
1227
+ "name": "amountSentLD",
1228
+ "type": "uint256"
1229
+ },
1230
+ {
1231
+ "internalType": "uint256",
1232
+ "name": "amountReceivedLD",
1233
+ "type": "uint256"
1234
+ }
1235
+ ],
1236
+ "internalType": "struct OFTReceipt",
1237
+ "name": "oftReceipt",
1238
+ "type": "tuple"
1239
+ }
1240
+ ],
1241
+ "stateMutability": "payable",
1242
+ "type": "function"
1243
+ },
1244
+ {
1245
+ "inputs": [
1246
+ {
1247
+ "internalType": "address",
1248
+ "name": "_delegate",
1249
+ "type": "address"
1250
+ }
1251
+ ],
1252
+ "name": "setDelegate",
1253
+ "outputs": [],
1254
+ "stateMutability": "nonpayable",
1255
+ "type": "function"
1256
+ },
1257
+ {
1258
+ "inputs": [
1259
+ {
1260
+ "components": [
1261
+ {
1262
+ "internalType": "uint32",
1263
+ "name": "eid",
1264
+ "type": "uint32"
1265
+ },
1266
+ {
1267
+ "internalType": "uint16",
1268
+ "name": "msgType",
1269
+ "type": "uint16"
1270
+ },
1271
+ {
1272
+ "internalType": "bytes",
1273
+ "name": "options",
1274
+ "type": "bytes"
1275
+ }
1276
+ ],
1277
+ "internalType": "struct EnforcedOptionParam[]",
1278
+ "name": "_enforcedOptions",
1279
+ "type": "tuple[]"
1280
+ }
1281
+ ],
1282
+ "name": "setEnforcedOptions",
1283
+ "outputs": [],
1284
+ "stateMutability": "nonpayable",
1285
+ "type": "function"
1286
+ },
1287
+ {
1288
+ "inputs": [
1289
+ {
1290
+ "internalType": "address",
1291
+ "name": "_msgInspector",
1292
+ "type": "address"
1293
+ }
1294
+ ],
1295
+ "name": "setMsgInspector",
1296
+ "outputs": [],
1297
+ "stateMutability": "nonpayable",
1298
+ "type": "function"
1299
+ },
1300
+ {
1301
+ "inputs": [
1302
+ {
1303
+ "internalType": "uint32",
1304
+ "name": "_eid",
1305
+ "type": "uint32"
1306
+ },
1307
+ {
1308
+ "internalType": "bytes32",
1309
+ "name": "_peer",
1310
+ "type": "bytes32"
1311
+ }
1312
+ ],
1313
+ "name": "setPeer",
1314
+ "outputs": [],
1315
+ "stateMutability": "nonpayable",
1316
+ "type": "function"
1317
+ },
1318
+ {
1319
+ "inputs": [
1320
+ {
1321
+ "internalType": "address",
1322
+ "name": "_preCrime",
1323
+ "type": "address"
1324
+ }
1325
+ ],
1326
+ "name": "setPreCrime",
1327
+ "outputs": [],
1328
+ "stateMutability": "nonpayable",
1329
+ "type": "function"
1330
+ },
1331
+ {
1332
+ "inputs": [],
1333
+ "name": "sharedDecimals",
1334
+ "outputs": [
1335
+ {
1336
+ "internalType": "uint8",
1337
+ "name": "",
1338
+ "type": "uint8"
1339
+ }
1340
+ ],
1341
+ "stateMutability": "view",
1342
+ "type": "function"
1343
+ },
1344
+ {
1345
+ "inputs": [],
1346
+ "name": "token",
1347
+ "outputs": [
1348
+ {
1349
+ "internalType": "address",
1350
+ "name": "",
1351
+ "type": "address"
1352
+ }
1353
+ ],
1354
+ "stateMutability": "view",
1355
+ "type": "function"
1356
+ },
1357
+ {
1358
+ "inputs": [
1359
+ {
1360
+ "internalType": "address",
1361
+ "name": "newOwner",
1362
+ "type": "address"
1363
+ }
1364
+ ],
1365
+ "name": "transferOwnership",
1366
+ "outputs": [],
1367
+ "stateMutability": "nonpayable",
1368
+ "type": "function"
1369
+ },
1370
+ {
1371
+ "inputs": [],
1372
+ "name": "unpause",
1373
+ "outputs": [],
1374
+ "stateMutability": "nonpayable",
1375
+ "type": "function"
1376
+ }
1377
+ ],
1378
+ "bytecode": "0x61010060409080825234620002aa57600090606081620029538038038091620000298285620002af565b8339810103126200023e57826200004082620002e9565b6200004e60208401620002e9565b926001600160a01b03928391620000669101620002e9565b16928315620002925784546001600160a01b0319811685178655839190859083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08880a31680608052803b156200028e57848091602488518094819363ca5eb5e160e01b83526004998a8401525af18015620002845762000255575b501691835163313ce56760e01b81526020818481875afa80156200024b57829062000203575b60ff91501660068110620001f3576005190160ff8111620001e05760ff1691604d8311620001cd575050600a0a60e0528060a05260c052516126549081620002ff82396080518181816105e10152818161094801528181610d73015281816115c80152818161246f015261251c015260a0518181816103b401528181610a04015281816114620152612255015260c051816117cd015260e0518181816106780152818161089201528181610fdc0152818161142b01528181611c6601526122d40152f35b634e487b7160e01b825260119052602490fd5b506011602492634e487b7160e01b835252fd5b84516301e9714b60e41b81528390fd5b506020813d60201162000242575b816200022060209383620002af565b810103126200023e575160ff811681036200023e5760ff9062000109565b5080fd5b3d915062000211565b85513d84823e3d90fd5b9093906001600160401b038111620002715785529238620000e3565b634e487b7160e01b825260418452602482fd5b86513d87823e3d90fd5b8480fd5b8551631e4fbdf760e01b815260048101869052602490fd5b600080fd5b601f909101601f19168101906001600160401b03821190821017620002d357604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620002aa5756fe6080604052600436101561001257600080fd5b60003560e01c80630d35b41514610257578063111ecdad1461025257806313137d651461024d578063156a0d0f1461024857806317442b70146102435780631f5e13341461023e5780633400288b146102395780633b6f743b146102345780633e394a8b1461022f5780633f4ba83a1461022a57806352ae2879146102255780635535d461146102205780635a0dfe4d1461021b5780635c975abb146102165780635e280f11146102115780636fc1b31e1461020c578063715018a6146102075780637d25a05e1461020257806382413eac146101fd5780638456cb59146101f8578063857749b0146101f35780638da5cb5b146101ee578063963efcaa146101e95780639f68b964146101e4578063b731ea0a146101df578063b98bd070146101da578063bb0b6a53146101d5578063bc70b354146101d0578063bd815db0146101cb578063c7c7f5b3146101c6578063ca5eb5e1146101c1578063d045a0dc146101bc578063d4243885146101b7578063f2fde38b146101b2578063fc0c546a146101ad5763ff7bd03d146101a857600080fd5b6117fc565b6117b7565b61172b565b6116bb565b611630565b611597565b6113a6565b6111fc565b6111a8565b61116d565b611090565b61101b565b610fff565b610fc4565b610f9b565b610f7f565b610f25565b610ec7565b610ea0565b610e42565b610da2565b610d5d565b610d3a565b610cf2565b610c84565b610a9d565b610a33565b6109ee565b610835565b6107a4565b61077a565b610758565b610731565b6105c5565b6104e3565b610361565b908160e091031261026a5790565b600080fd5b60005b8381106102825750506000910152565b8181015183820152602001610272565b906020916102ab8151809281855285808601910161026f565b601f01601f1916010190565b9392916102d28560a081019360208091805184520151910152565b60409160a06040870152815180915260c086019160c08260051b880101936020809201936000915b848310610322575050505050509060606103209294019060208091805184520151910152565b565b90919293949584806103516001938d60bf1990820301875285838c518051845201519181858201520190610292565b98019301930191949392906102fa565b3461026a5760208060031936011261026a576004356001600160401b03811161026a5761039290369060040161025c565b9061039b61185c565b506103a461185c565b5060405163c3c2247560e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316918082600481865afa9182156104b1576000926104b6575b50806004929360405193848092631804cb2760e21b82525afa80156104b15761047792600091610484575b50801561047b575b61042f611842565b9384528184015261045b6104416118a7565b9461044b816118ba565b5060406060820135910135611c5d565b9091610465611842565b928352820152604051938493846102b7565b0390f35b50600019610427565b6104a49150823d84116104aa575b61049c8183610bac565b810190611875565b3861041f565b503d610492565b611884565b600492506104d18291823d84116104aa5761049c8183610bac565b92506103f4565b600091031261026a57565b3461026a57600036600319011261026a5760045460405160089190911c6001600160a01b03168152602090f35b606090600319011261026a57600490565b9181601f8401121561026a578235916001600160401b03831161026a576020838186019501011161026a57565b6001600160a01b0381160361026a57565b600319810160e0811261026a5760601361026a57600491606435916001600160401b039060843582811161026a578161059a91600401610521565b9390939260a4356105aa8161054e565b9260c43591821161026a576105c191600401610521565b9091565b6105ce3661055f565b5092949192506001600160a01b039050337f00000000000000000000000000000000000000000000000000000000000000008216036107195781359161061383610796565b602061061e84611cb7565b9101358091036106e35750602883116106d1578260201161026a5761069e61066e7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c946106ad9388351697612241565b6001600160401b037f00000000000000000000000000000000000000000000000000000000000000009116612218565b6106a783610796565b85612253565b906106b781610796565b6040805163ffffffff9290921682526020820192909252a3005b604051630b45411560e11b8152600490fd5b826106ed81610796565b60405163309afaf360e21b815263ffffffff9190911660048201526024810191909152604490fd5b0390fd5b6040516391ac5e4f60e01b8152336004820152602490fd5b3461026a57600036600319011261026a576040805162b9270b60e21b815260016020820152f35b3461026a57600036600319011261026a57604080516001815260026020820152f35b3461026a57600036600319011261026a57602060405160018152f35b63ffffffff81160361026a57565b3461026a57604036600319011261026a577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b6004356107e281610796565b602435906107ee611cef565b63ffffffff8116600052600160205281604060002055610826604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b8015150361026a57565b3461026a5760408060031936011261026a576004356001600160401b03811161026a5761086690369060040161025c565b906024356108738161082b565b61087b61185c565b50606083013583359361088d85610796565b6108c37f00000000000000000000000000000000000000000000000000000000000000006108be81878501356121f8565b612218565b918083106109d1575083926108df610944969361092993611d68565b906108e985610796565b6108f161185c565b506108fb85611cb7565b61091261090661184f565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b815180948192631bb8518b60e31b8352309060048401611e7c565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156104b157610477926000926109a2575b505191829182815181526020918201519181019190915260400190565b816109c39293503d84116109ca575b6109bb8183610bac565b810190611e68565b9038610985565b503d6109b1565b826044918651916371c4efed60e01b835260048301526024820152fd5b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57600036600319011261026a57610a4c611cef565b60045460ff811615610a8b5760ff19166004557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461026a57600036600319011261026a576020604051308152f35b6024359061ffff8216820361026a57565b359061ffff8216820361026a57565b90600182811c92168015610b08575b6020831014610af257565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ae7565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610b4357604052565b610b12565b6001600160401b038111610b4357604052565b604081019081106001600160401b03821117610b4357604052565b60a081019081106001600160401b03821117610b4357604052565b602081019081106001600160401b03821117610b4357604052565b90601f801991011681019081106001600160401b03821117610b4357604052565b90604051918260008254610be081610ad8565b90818452602094600191600181169081600014610c4e5750600114610c0f575b50505061032092500383610bac565b600090815285812095935091905b818310610c365750506103209350820101388080610c00565b85548884018501529485019487945091830191610c1d565b9250505061032094925060ff191682840152151560051b820101388080610c00565b906020610c81928181520190610292565b90565b3461026a57604036600319011261026a57610477610cde610cd9600435610caa81610796565b63ffffffff610cb7610ab8565b9116600052600360205260406000209061ffff16600052602052604060002090565b610bcd565b604051918291602083526020830190610292565b3461026a57604036600319011261026a576020610d30600435610d1481610796565b6024359063ffffffff1660005260016020526040600020541490565b6040519015158152f35b3461026a57600036600319011261026a57602060ff600454166040519015158152f35b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57602036600319011261026a57600435610dbf8161054e565b610dc7611cef565b6001600160a01b0381169081610e2b575b60048054610100600160a81b03191660089290921b610100600160a81b03169190911790556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419790602090a1005b803b610dd85760405162e4e2ab60e21b8152600490fd5b3461026a57600080600319360112610e9d57610e5c611cef565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b3461026a57604036600319011261026a57610ebc600435610796565b602060405160008152f35b3461026a5760a036600319011261026a57610ee136610510565b506064356001600160401b03811161026a57610f01903690600401610521565b50506020608435610f118161054e565b6040516001600160a01b0390911630148152f35b3461026a57600036600319011261026a57610f3e611cef565b610f466121b2565b600160ff1960045416176004557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461026a57600036600319011261026a57602060405160068152f35b3461026a57600036600319011261026a576000546040516001600160a01b039091168152602090f35b3461026a57600036600319011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461026a57600036600319011261026a57602060405160008152f35b3461026a57600036600319011261026a576002546040516001600160a01b039091168152602090f35b90602060031983011261026a576004356001600160401b039283821161026a578060238301121561026a57816004013593841161026a5760248460051b8301011161026a576024019190565b3461026a5761109e36611044565b906110a7611cef565b6110b082611890565b9060406110c06040519384610bac565b8383526020938484019060051b83019236841161026a5780915b8483106110ec576110ea866120b4565b005b6001600160401b0390833582811161026a5783019160608336031261026a5785519261111784610b28565b803561112281610796565b845261112f8a8201610ac9565b8a8501528681013591821161026a57019036601f8301121561026a57889261115e8493369085813591016118df565b878201528152019201916110da565b3461026a57602036600319011261026a5763ffffffff60043561118f81610796565b1660005260016020526020604060002054604051908152f35b3461026a57606036600319011261026a576004356111c581610796565b6111cd610ab8565b604435906001600160401b03821161026a57610477926111f4610cde933690600401610521565b929091611a3f565b61120536611044565b60005b81811061127457604051638e9e709960e01b8152600081600481335afa80156104b15761071591600091611251575b50604051638351eea760e01b815291829160048301610c70565b61126e91503d806000833e6112668183610bac565b810190611bd7565b82611237565b61127f818385611ae8565b906112b16112ad61128f846118ba565b60208501359063ffffffff1660005260016020526040600020541490565b1590565b61134c576112c3610100830183611b10565b926112d060e08201611b42565b906112df610120820182611b10565b959095303b1561026a5760009461131560c092604051998a9788968795633411683760e21b875260a08a01358a60048901611b5d565b03920135305af19182156104b157600192611333575b505b01611208565b8061134061134692610b48565b806104d8565b3861132b565b6001915061132d565b916080610320929493611395604060c0830197805184526001600160401b0360208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b608036600319011261026a576004356001600160401b03811161026a576113d190369060040161025c565b60408060231936011261026a576064356113ea8161054e565b6113f2611c35565b506113fb61185c565b506114046121b2565b61140c611c35565b5061141561185c565b506060830135916114268435610796565b6114577f00000000000000000000000000000000000000000000000000000000000000006108be81848801356121f8565b9280841061157a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691823b1561026a5781516374f4f54760e01b815233600482015260248101859052926000908490604490829084905af19081156104b157610477936114f292611567575b506114d98587611d68565b6114e2886118ba565b916114ec366121d0565b926123f2565b926114fb611842565b948186528160208701527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a61155a6115348751936118ba565b9385519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a35192839283611355565b8061134061157492610b48565b386114ce565b839060449251916371c4efed60e01b835260048301526024820152fd5b3461026a5760006020366003190112610e9d576004356115b68161054e565b6115be611cef565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691839190833b1561162c5760249083604051958694859363ca5eb5e160e01b85521660048401525af180156104b157611620575080f35b61162990610b48565b80f35b8280fd5b6116393661055f565b50505090923033036116a957602882116106d1578160201161026a576106b76116a361169361066e7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c9560018060a01b0389351698612241565b61169c846118ba565b5086612253565b916118ba565b60405163029a949d60e31b8152600490fd5b3461026a57602036600319011261026a577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776060206004356116fb8161054e565b611703611cef565b600280546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b3461026a57602036600319011261026a576004356117488161054e565b611750611cef565b6001600160a01b03908116801561179e57600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260006004820152602490fd5b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57606036600319011261026a57602061181836610510565b63ffffffff813561182881610796565b166000526001825260406000205482604051920135148152f35b6040519061032082610b5b565b6040519061032082610b76565b6040519061186982610b5b565b60006020838281520152565b9081602091031261026a575190565b6040513d6000823e3d90fd5b6001600160401b038111610b435760051b60200190565b6040516118b381610b91565b6000815290565b35610c8181610796565b6001600160401b038111610b4357601f01601f191660200190565b9291926118eb826118c4565b916118f96040519384610bac565b82948184528183011161026a578281602093846000960137010152565b909291928360021161026a57831161026a57600201916001190190565b60209083610320939594956040519683611956899551809288808901910161026f565b8401918583013701600083820152038085520183610bac565b908060209392818452848401376000828201840152601f01601f1916010190565b916020610c8193818152019161196f565b63ffffffff9093919293166000526003602052604060002060016000526020526119ce6040600020610bcd565b805115611a31578315611a2b576002841015611a02575050610715604051928392639a6d49cd60e01b845260048401611990565b909280611a2591610c8194611a20611a1b3684846118df565b61217a565b611916565b91611933565b92509050565b509190610c819136916118df565b611a709163ffffffff610cd99296949616600052600360205260406000209061ffff16600052602052604060002090565b805115611ac5578215611a2b576002831015611aac575050610715604051928392639a6d49cd60e01b845260206004850152602484019161196f565b909282610c8193611a2592611a20611a1b3684846118df565b5091610c819136916118df565b634e487b7160e01b600052603260045260246000fd5b9190811015611b0b5760051b8101359061013e198136030182121561026a570190565b611ad2565b903590601e198136030182121561026a57018035906001600160401b03821161026a5760200191813603831361026a57565b35610c818161054e565b6001600160401b0381160361026a57565b929093611bb9926001600160401b036040610c819a98999763ffffffff8135611b8581610796565b168852602081013560208901520135611b9d81611b4c565b166040860152606085015260e0608085015260e084019161196f565b6001600160a01b0390941660a082015280840360c09091015261196f565b60208183031261026a578051906001600160401b03821161026a570181601f8201121561026a578051611c09816118c4565b92611c176040519485610bac565b8184526020828401011161026a57610c81916020808501910161026f565b60405190611c4282610b28565b8160008152600060208201526040611c5861185c565b910152565b611c8c906108be7f000000000000000000000000000000000000000000000000000000000000000080926121f8565b918291808410611c995750565b83604491604051916371c4efed60e01b835260048301526024820152fd5b63ffffffff16806000526001602052604060002054908115611cd7575090565b6024906040519063f6ff4fb760e01b82526004820152fd5b6000546001600160a01b03163303611d0357565b60405163118cdaa760e01b8152336004820152602490fd5b60405190611d2882610b91565b60008252565b9081602091031261026a5751610c818161082b565b9091611d5a610c8193604084526040840190610292565b916020818403910152610292565b9190611d7760a0840184611b10565b90506106d157611d89611d9c916122ce565b611d91611d1b565b906020850135612325565b5090611dc08293611dba611daf826118ba565b916080810190611b10565b916119a1565b600454909260089190911c6001600160a01b0316908382611de057505050565b60405163043a78eb60e01b815292602092849283918291611e049160048401611d43565b03915afa80156104b157611e155750565b611e369060203d602011611e39575b611e2e8183610bac565b810190611d2e565b50565b503d611e24565b919082604091031261026a57604051611e5881610b5b565b6020808294805184520151910152565b9060408282031261026a57610c8191611e40565b906020909392936040835263ffffffff81511660408401528181015160608401526080611ed0611eba604084015160a08488015260e0870190610292565b6060840151868203603f190160a0880152610292565b910151151560c08401526001600160a01b03909416910152565b8051821015611b0b5760209160051b010190565b90601f8111611f0c57505050565b6000916000526020600020906020601f850160051c83019410611f4a575b601f0160051c01915b828110611f3f57505050565b818155600101611f33565b9092508290611f2a565b91909182516001600160401b038111610b4357611f7b81611f758454610ad8565b84611efe565b602080601f8311600114611fbe57508190611faf939495600092611fb3575b50508160011b916000199060031b1c19161790565b9055565b015190503880611f9a565b90601f19831695611fd485600052602060002090565b926000905b88821061201157505083600195969710611ff8575b505050811b019055565b015160001960f88460031b161c19169055388080611fee565b80600185968294968601518155019501930190611fd9565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b858410612060575050505050505090565b9091929394959685806120a3600193603f198682030188528b518760609163ffffffff815116845261ffff86820151168685015201519181898201520190610292565b99019401940192959493919061204f565b9060009160005b81518110156121405760019061213a60406120e2816120da8588611eea565b51015161217a565b612135816120f08588611eea565b5101519163ffffffff6121038689611eea565b515116895261ffff602091600383528a209161211f878a611eea565b5101511661ffff16600052602052604060002090565b611f54565b016120bb565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749192506121759060405191829182612029565b0390a1565b600361ffff6002830151160361218d5750565b604051639a6d49cd60e01b815260206004820152908190610715906024830190610292565b60ff600454166121be57565b60405163d93c066560e01b8152600490fd5b604090602319011261026a57604051906121e982610b5b565b60243582526044356020830152565b8115612202570490565b634e487b7160e01b600052601260045260246000fd5b8181029291811591840414171561222b57565b634e487b7160e01b600052601160045260246000fd5b9060281161026a576020013560c01c90565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b1561026a576040516346154c9f60e11b81526001600160a01b03929092166004830152602482018390526000908290604490829084905af180156104b1576122c5575090565b610c8190610b48565b6122f9907f0000000000000000000000000000000000000000000000000000000000000000906121f8565b6001600160401b039081811161230d571690565b6024906040519063e2ce941360e01b82526004820152fd5b82511580159390612383576123809160689160405194859260208401526001600160401b0360c01b9060c01b166040830152336048830152612370815180926020868601910161026f565b8101036048810184520182610bac565b91565b50906040519160208301526001600160401b0360c01b9060c01b1660408201526028815261238081610b28565b9060808282031261026a576123ea9060408051936123cd85610b28565b8051855260208101516123df81611b4c565b602086015201611e40565b604082015290565b61244f6080949261246b9694612406611c35565b50602061241386516124e3565b9501918251806124d4575b5061242885611cb7565b925115159261243861090661184f565b602086015260408501526060840152151585830152565b6040518095819482936302637a4560e41b845260048401611e7c565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19081156104b1576000916124ab575090565b610c81915060803d6080116124cd575b6124c58183610bac565b8101906123b0565b503d6124bb565b6124dd90612505565b3861241e565b8034036124ed5790565b6040516304fb820960e51b8152346004820152602490fd5b60405163393f876560e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116926020929091908381600481885afa9081156104b1576000916125e8575b50169283156125d65760009160405190848201926323b872dd60e01b8452336024840152604483015260648201526064815261259681610b76565b519082855af115611884576000513d6125cd5750803b155b6125b55750565b60249060405190635274afe760e01b82526004820152fd5b600114156125ae565b6040516329b99a9560e11b8152600490fd5b90508381813d8311612617575b6125ff8183610bac565b8101031261026a57516126118161054e565b3861255b565b503d6125f556fea264697066735822122024e67044bf8086c93f549847d969b62e50804c26dd8fa435981342c32ac6686464736f6c63430008160033",
1379
+ "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c80630d35b41514610257578063111ecdad1461025257806313137d651461024d578063156a0d0f1461024857806317442b70146102435780631f5e13341461023e5780633400288b146102395780633b6f743b146102345780633e394a8b1461022f5780633f4ba83a1461022a57806352ae2879146102255780635535d461146102205780635a0dfe4d1461021b5780635c975abb146102165780635e280f11146102115780636fc1b31e1461020c578063715018a6146102075780637d25a05e1461020257806382413eac146101fd5780638456cb59146101f8578063857749b0146101f35780638da5cb5b146101ee578063963efcaa146101e95780639f68b964146101e4578063b731ea0a146101df578063b98bd070146101da578063bb0b6a53146101d5578063bc70b354146101d0578063bd815db0146101cb578063c7c7f5b3146101c6578063ca5eb5e1146101c1578063d045a0dc146101bc578063d4243885146101b7578063f2fde38b146101b2578063fc0c546a146101ad5763ff7bd03d146101a857600080fd5b6117fc565b6117b7565b61172b565b6116bb565b611630565b611597565b6113a6565b6111fc565b6111a8565b61116d565b611090565b61101b565b610fff565b610fc4565b610f9b565b610f7f565b610f25565b610ec7565b610ea0565b610e42565b610da2565b610d5d565b610d3a565b610cf2565b610c84565b610a9d565b610a33565b6109ee565b610835565b6107a4565b61077a565b610758565b610731565b6105c5565b6104e3565b610361565b908160e091031261026a5790565b600080fd5b60005b8381106102825750506000910152565b8181015183820152602001610272565b906020916102ab8151809281855285808601910161026f565b601f01601f1916010190565b9392916102d28560a081019360208091805184520151910152565b60409160a06040870152815180915260c086019160c08260051b880101936020809201936000915b848310610322575050505050509060606103209294019060208091805184520151910152565b565b90919293949584806103516001938d60bf1990820301875285838c518051845201519181858201520190610292565b98019301930191949392906102fa565b3461026a5760208060031936011261026a576004356001600160401b03811161026a5761039290369060040161025c565b9061039b61185c565b506103a461185c565b5060405163c3c2247560e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316918082600481865afa9182156104b1576000926104b6575b50806004929360405193848092631804cb2760e21b82525afa80156104b15761047792600091610484575b50801561047b575b61042f611842565b9384528184015261045b6104416118a7565b9461044b816118ba565b5060406060820135910135611c5d565b9091610465611842565b928352820152604051938493846102b7565b0390f35b50600019610427565b6104a49150823d84116104aa575b61049c8183610bac565b810190611875565b3861041f565b503d610492565b611884565b600492506104d18291823d84116104aa5761049c8183610bac565b92506103f4565b600091031261026a57565b3461026a57600036600319011261026a5760045460405160089190911c6001600160a01b03168152602090f35b606090600319011261026a57600490565b9181601f8401121561026a578235916001600160401b03831161026a576020838186019501011161026a57565b6001600160a01b0381160361026a57565b600319810160e0811261026a5760601361026a57600491606435916001600160401b039060843582811161026a578161059a91600401610521565b9390939260a4356105aa8161054e565b9260c43591821161026a576105c191600401610521565b9091565b6105ce3661055f565b5092949192506001600160a01b039050337f00000000000000000000000000000000000000000000000000000000000000008216036107195781359161061383610796565b602061061e84611cb7565b9101358091036106e35750602883116106d1578260201161026a5761069e61066e7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c946106ad9388351697612241565b6001600160401b037f00000000000000000000000000000000000000000000000000000000000000009116612218565b6106a783610796565b85612253565b906106b781610796565b6040805163ffffffff9290921682526020820192909252a3005b604051630b45411560e11b8152600490fd5b826106ed81610796565b60405163309afaf360e21b815263ffffffff9190911660048201526024810191909152604490fd5b0390fd5b6040516391ac5e4f60e01b8152336004820152602490fd5b3461026a57600036600319011261026a576040805162b9270b60e21b815260016020820152f35b3461026a57600036600319011261026a57604080516001815260026020820152f35b3461026a57600036600319011261026a57602060405160018152f35b63ffffffff81160361026a57565b3461026a57604036600319011261026a577f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b6004356107e281610796565b602435906107ee611cef565b63ffffffff8116600052600160205281604060002055610826604051928392836020909392919363ffffffff60408201951681520152565b0390a1005b8015150361026a57565b3461026a5760408060031936011261026a576004356001600160401b03811161026a5761086690369060040161025c565b906024356108738161082b565b61087b61185c565b50606083013583359361088d85610796565b6108c37f00000000000000000000000000000000000000000000000000000000000000006108be81878501356121f8565b612218565b918083106109d1575083926108df610944969361092993611d68565b906108e985610796565b6108f161185c565b506108fb85611cb7565b61091261090661184f565b63ffffffff9097168752565b602086015285850152606084015215156080830152565b815180948192631bb8518b60e31b8352309060048401611e7c565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156104b157610477926000926109a2575b505191829182815181526020918201519181019190915260400190565b816109c39293503d84116109ca575b6109bb8183610bac565b810190611e68565b9038610985565b503d6109b1565b826044918651916371c4efed60e01b835260048301526024820152fd5b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57600036600319011261026a57610a4c611cef565b60045460ff811615610a8b5760ff19166004557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461026a57600036600319011261026a576020604051308152f35b6024359061ffff8216820361026a57565b359061ffff8216820361026a57565b90600182811c92168015610b08575b6020831014610af257565b634e487b7160e01b600052602260045260246000fd5b91607f1691610ae7565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610b4357604052565b610b12565b6001600160401b038111610b4357604052565b604081019081106001600160401b03821117610b4357604052565b60a081019081106001600160401b03821117610b4357604052565b602081019081106001600160401b03821117610b4357604052565b90601f801991011681019081106001600160401b03821117610b4357604052565b90604051918260008254610be081610ad8565b90818452602094600191600181169081600014610c4e5750600114610c0f575b50505061032092500383610bac565b600090815285812095935091905b818310610c365750506103209350820101388080610c00565b85548884018501529485019487945091830191610c1d565b9250505061032094925060ff191682840152151560051b820101388080610c00565b906020610c81928181520190610292565b90565b3461026a57604036600319011261026a57610477610cde610cd9600435610caa81610796565b63ffffffff610cb7610ab8565b9116600052600360205260406000209061ffff16600052602052604060002090565b610bcd565b604051918291602083526020830190610292565b3461026a57604036600319011261026a576020610d30600435610d1481610796565b6024359063ffffffff1660005260016020526040600020541490565b6040519015158152f35b3461026a57600036600319011261026a57602060ff600454166040519015158152f35b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57602036600319011261026a57600435610dbf8161054e565b610dc7611cef565b6001600160a01b0381169081610e2b575b60048054610100600160a81b03191660089290921b610100600160a81b03169190911790556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419790602090a1005b803b610dd85760405162e4e2ab60e21b8152600490fd5b3461026a57600080600319360112610e9d57610e5c611cef565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b3461026a57604036600319011261026a57610ebc600435610796565b602060405160008152f35b3461026a5760a036600319011261026a57610ee136610510565b506064356001600160401b03811161026a57610f01903690600401610521565b50506020608435610f118161054e565b6040516001600160a01b0390911630148152f35b3461026a57600036600319011261026a57610f3e611cef565b610f466121b2565b600160ff1960045416176004557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461026a57600036600319011261026a57602060405160068152f35b3461026a57600036600319011261026a576000546040516001600160a01b039091168152602090f35b3461026a57600036600319011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461026a57600036600319011261026a57602060405160008152f35b3461026a57600036600319011261026a576002546040516001600160a01b039091168152602090f35b90602060031983011261026a576004356001600160401b039283821161026a578060238301121561026a57816004013593841161026a5760248460051b8301011161026a576024019190565b3461026a5761109e36611044565b906110a7611cef565b6110b082611890565b9060406110c06040519384610bac565b8383526020938484019060051b83019236841161026a5780915b8483106110ec576110ea866120b4565b005b6001600160401b0390833582811161026a5783019160608336031261026a5785519261111784610b28565b803561112281610796565b845261112f8a8201610ac9565b8a8501528681013591821161026a57019036601f8301121561026a57889261115e8493369085813591016118df565b878201528152019201916110da565b3461026a57602036600319011261026a5763ffffffff60043561118f81610796565b1660005260016020526020604060002054604051908152f35b3461026a57606036600319011261026a576004356111c581610796565b6111cd610ab8565b604435906001600160401b03821161026a57610477926111f4610cde933690600401610521565b929091611a3f565b61120536611044565b60005b81811061127457604051638e9e709960e01b8152600081600481335afa80156104b15761071591600091611251575b50604051638351eea760e01b815291829160048301610c70565b61126e91503d806000833e6112668183610bac565b810190611bd7565b82611237565b61127f818385611ae8565b906112b16112ad61128f846118ba565b60208501359063ffffffff1660005260016020526040600020541490565b1590565b61134c576112c3610100830183611b10565b926112d060e08201611b42565b906112df610120820182611b10565b959095303b1561026a5760009461131560c092604051998a9788968795633411683760e21b875260a08a01358a60048901611b5d565b03920135305af19182156104b157600192611333575b505b01611208565b8061134061134692610b48565b806104d8565b3861132b565b6001915061132d565b916080610320929493611395604060c0830197805184526001600160401b0360208201511660208501520151604083019060208091805184520151910152565b019060208091805184520151910152565b608036600319011261026a576004356001600160401b03811161026a576113d190369060040161025c565b60408060231936011261026a576064356113ea8161054e565b6113f2611c35565b506113fb61185c565b506114046121b2565b61140c611c35565b5061141561185c565b506060830135916114268435610796565b6114577f00000000000000000000000000000000000000000000000000000000000000006108be81848801356121f8565b9280841061157a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691823b1561026a5781516374f4f54760e01b815233600482015260248101859052926000908490604490829084905af19081156104b157610477936114f292611567575b506114d98587611d68565b6114e2886118ba565b916114ec366121d0565b926123f2565b926114fb611842565b948186528160208701527f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a61155a6115348751936118ba565b9385519181839233978460409194939263ffffffff606083019616825260208201520152565b0390a35192839283611355565b8061134061157492610b48565b386114ce565b839060449251916371c4efed60e01b835260048301526024820152fd5b3461026a5760006020366003190112610e9d576004356115b68161054e565b6115be611cef565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691839190833b1561162c5760249083604051958694859363ca5eb5e160e01b85521660048401525af180156104b157611620575080f35b61162990610b48565b80f35b8280fd5b6116393661055f565b50505090923033036116a957602882116106d1578160201161026a576106b76116a361169361066e7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c9560018060a01b0389351698612241565b61169c846118ba565b5086612253565b916118ba565b60405163029a949d60e31b8152600490fd5b3461026a57602036600319011261026a577fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776060206004356116fb8161054e565b611703611cef565b600280546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b3461026a57602036600319011261026a576004356117488161054e565b611750611cef565b6001600160a01b03908116801561179e57600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b604051631e4fbdf760e01b815260006004820152602490fd5b3461026a57600036600319011261026a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461026a57606036600319011261026a57602061181836610510565b63ffffffff813561182881610796565b166000526001825260406000205482604051920135148152f35b6040519061032082610b5b565b6040519061032082610b76565b6040519061186982610b5b565b60006020838281520152565b9081602091031261026a575190565b6040513d6000823e3d90fd5b6001600160401b038111610b435760051b60200190565b6040516118b381610b91565b6000815290565b35610c8181610796565b6001600160401b038111610b4357601f01601f191660200190565b9291926118eb826118c4565b916118f96040519384610bac565b82948184528183011161026a578281602093846000960137010152565b909291928360021161026a57831161026a57600201916001190190565b60209083610320939594956040519683611956899551809288808901910161026f565b8401918583013701600083820152038085520183610bac565b908060209392818452848401376000828201840152601f01601f1916010190565b916020610c8193818152019161196f565b63ffffffff9093919293166000526003602052604060002060016000526020526119ce6040600020610bcd565b805115611a31578315611a2b576002841015611a02575050610715604051928392639a6d49cd60e01b845260048401611990565b909280611a2591610c8194611a20611a1b3684846118df565b61217a565b611916565b91611933565b92509050565b509190610c819136916118df565b611a709163ffffffff610cd99296949616600052600360205260406000209061ffff16600052602052604060002090565b805115611ac5578215611a2b576002831015611aac575050610715604051928392639a6d49cd60e01b845260206004850152602484019161196f565b909282610c8193611a2592611a20611a1b3684846118df565b5091610c819136916118df565b634e487b7160e01b600052603260045260246000fd5b9190811015611b0b5760051b8101359061013e198136030182121561026a570190565b611ad2565b903590601e198136030182121561026a57018035906001600160401b03821161026a5760200191813603831361026a57565b35610c818161054e565b6001600160401b0381160361026a57565b929093611bb9926001600160401b036040610c819a98999763ffffffff8135611b8581610796565b168852602081013560208901520135611b9d81611b4c565b166040860152606085015260e0608085015260e084019161196f565b6001600160a01b0390941660a082015280840360c09091015261196f565b60208183031261026a578051906001600160401b03821161026a570181601f8201121561026a578051611c09816118c4565b92611c176040519485610bac565b8184526020828401011161026a57610c81916020808501910161026f565b60405190611c4282610b28565b8160008152600060208201526040611c5861185c565b910152565b611c8c906108be7f000000000000000000000000000000000000000000000000000000000000000080926121f8565b918291808410611c995750565b83604491604051916371c4efed60e01b835260048301526024820152fd5b63ffffffff16806000526001602052604060002054908115611cd7575090565b6024906040519063f6ff4fb760e01b82526004820152fd5b6000546001600160a01b03163303611d0357565b60405163118cdaa760e01b8152336004820152602490fd5b60405190611d2882610b91565b60008252565b9081602091031261026a5751610c818161082b565b9091611d5a610c8193604084526040840190610292565b916020818403910152610292565b9190611d7760a0840184611b10565b90506106d157611d89611d9c916122ce565b611d91611d1b565b906020850135612325565b5090611dc08293611dba611daf826118ba565b916080810190611b10565b916119a1565b600454909260089190911c6001600160a01b0316908382611de057505050565b60405163043a78eb60e01b815292602092849283918291611e049160048401611d43565b03915afa80156104b157611e155750565b611e369060203d602011611e39575b611e2e8183610bac565b810190611d2e565b50565b503d611e24565b919082604091031261026a57604051611e5881610b5b565b6020808294805184520151910152565b9060408282031261026a57610c8191611e40565b906020909392936040835263ffffffff81511660408401528181015160608401526080611ed0611eba604084015160a08488015260e0870190610292565b6060840151868203603f190160a0880152610292565b910151151560c08401526001600160a01b03909416910152565b8051821015611b0b5760209160051b010190565b90601f8111611f0c57505050565b6000916000526020600020906020601f850160051c83019410611f4a575b601f0160051c01915b828110611f3f57505050565b818155600101611f33565b9092508290611f2a565b91909182516001600160401b038111610b4357611f7b81611f758454610ad8565b84611efe565b602080601f8311600114611fbe57508190611faf939495600092611fb3575b50508160011b916000199060031b1c19161790565b9055565b015190503880611f9a565b90601f19831695611fd485600052602060002090565b926000905b88821061201157505083600195969710611ff8575b505050811b019055565b015160001960f88460031b161c19169055388080611fee565b80600185968294968601518155019501930190611fd9565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b858410612060575050505050505090565b9091929394959685806120a3600193603f198682030188528b518760609163ffffffff815116845261ffff86820151168685015201519181898201520190610292565b99019401940192959493919061204f565b9060009160005b81518110156121405760019061213a60406120e2816120da8588611eea565b51015161217a565b612135816120f08588611eea565b5101519163ffffffff6121038689611eea565b515116895261ffff602091600383528a209161211f878a611eea565b5101511661ffff16600052602052604060002090565b611f54565b016120bb565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b6749192506121759060405191829182612029565b0390a1565b600361ffff6002830151160361218d5750565b604051639a6d49cd60e01b815260206004820152908190610715906024830190610292565b60ff600454166121be57565b60405163d93c066560e01b8152600490fd5b604090602319011261026a57604051906121e982610b5b565b60243582526044356020830152565b8115612202570490565b634e487b7160e01b600052601260045260246000fd5b8181029291811591840414171561222b57565b634e487b7160e01b600052601160045260246000fd5b9060281161026a576020013560c01c90565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b1561026a576040516346154c9f60e11b81526001600160a01b03929092166004830152602482018390526000908290604490829084905af180156104b1576122c5575090565b610c8190610b48565b6122f9907f0000000000000000000000000000000000000000000000000000000000000000906121f8565b6001600160401b039081811161230d571690565b6024906040519063e2ce941360e01b82526004820152fd5b82511580159390612383576123809160689160405194859260208401526001600160401b0360c01b9060c01b166040830152336048830152612370815180926020868601910161026f565b8101036048810184520182610bac565b91565b50906040519160208301526001600160401b0360c01b9060c01b1660408201526028815261238081610b28565b9060808282031261026a576123ea9060408051936123cd85610b28565b8051855260208101516123df81611b4c565b602086015201611e40565b604082015290565b61244f6080949261246b9694612406611c35565b50602061241386516124e3565b9501918251806124d4575b5061242885611cb7565b925115159261243861090661184f565b602086015260408501526060840152151585830152565b6040518095819482936302637a4560e41b845260048401611e7c565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af19081156104b1576000916124ab575090565b610c81915060803d6080116124cd575b6124c58183610bac565b8101906123b0565b503d6124bb565b6124dd90612505565b3861241e565b8034036124ed5790565b6040516304fb820960e51b8152346004820152602490fd5b60405163393f876560e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116926020929091908381600481885afa9081156104b1576000916125e8575b50169283156125d65760009160405190848201926323b872dd60e01b8452336024840152604483015260648201526064815261259681610b76565b519082855af115611884576000513d6125cd5750803b155b6125b55750565b60249060405190635274afe760e01b82526004820152fd5b600114156125ae565b6040516329b99a9560e11b8152600490fd5b90508381813d8311612617575b6125ff8183610bac565b8101031261026a57516126118161054e565b3861255b565b503d6125f556fea264697066735822122024e67044bf8086c93f549847d969b62e50804c26dd8fa435981342c32ac6686464736f6c63430008160033",
1380
+ "linkReferences": {},
1381
+ "deployedLinkReferences": {}
1382
+ }