UNPKG

@layerzerolabs/oft-alt-evm

Version:

LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation

1 lines 17.5 kB
{"abi":[{"type":"function","name":"executor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"extraData","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"from","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"guid","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"lzCompose","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_guid","type":"bytes32","internalType":"bytes32"},{"name":"_message","type":"bytes","internalType":"bytes"},{"name":"_executor","type":"address","internalType":"address"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"message","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5061061b8061001d5f395ff3fe608060405260043610610063575f3560e01c8063d0a1026011610041578063d0a1026014610101578063d5ce338914610116578063e21f37ce14610141575f80fd5b80630ae6d46b14610067578063609d33341461008f578063c34c08e5146100b0575b5f80fd5b348015610072575f80fd5b5061007c60015481565b6040519081526020015b60405180910390f35b34801561009a575f80fd5b506100a3610155565b6040516100869190610297565b3480156100bb575f80fd5b506003546100dc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610086565b61011461010f36600461036e565b6101e1565b005b348015610121575f80fd5b505f546100dc9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561014c575f80fd5b506100a361028a565b6004805461016290610405565b80601f016020809104026020016040519081016040528092919081815260200182805461018e90610405565b80156101d95780601f106101b0576101008083540402835291602001916101d9565b820191905f5260205f20905b8154815290600101906020018083116101bc57829003601f168201915b505050505081565b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916179055600186905560026102328587836104cf565b50600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905560046102808587836104cf565b5050505050505050565b6002805461016290610405565b5f602080835283518060208501525f5b818110156102c3578581018301518582016040015282016102a7565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610324575f80fd5b919050565b5f8083601f840112610339575f80fd5b50813567ffffffffffffffff811115610350575f80fd5b602083019150836020828501011115610367575f80fd5b9250929050565b5f805f805f805f60a0888a031215610384575f80fd5b61038d88610301565b965060208801359550604088013567ffffffffffffffff808211156103b0575f80fd5b6103bc8b838c01610329565b90975095508591506103d060608b01610301565b945060808a01359150808211156103e5575f80fd5b506103f28a828b01610329565b989b979a50959850939692959293505050565b600181811c9082168061041957607f821691505b602082108103610450577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b601f8211156104ca57805f5260205f20601f840160051c810160208510156104a85750805b601f840160051c820191505b818110156104c7575f81556001016104b4565b50505b505050565b67ffffffffffffffff8311156104e7576104e7610456565b6104fb836104f58354610405565b83610483565b5f601f84116001811461054b575f85156105155750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556104c7565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b828110156105985786850135825560209485019460019092019101610578565b50868210156105d3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b018355505050505056fea2646970667358221220b3a18565b6432cb13b75c67f41498da15ac32e1641ca2d2f0ffb7d30fd39455764736f6c63430008160033","sourceMap":"166:579:73:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610063575f3560e01c8063d0a1026011610041578063d0a1026014610101578063d5ce338914610116578063e21f37ce14610141575f80fd5b80630ae6d46b14610067578063609d33341461008f578063c34c08e5146100b0575b5f80fd5b348015610072575f80fd5b5061007c60015481565b6040519081526020015b60405180910390f35b34801561009a575f80fd5b506100a3610155565b6040516100869190610297565b3480156100bb575f80fd5b506003546100dc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610086565b61011461010f36600461036e565b6101e1565b005b348015610121575f80fd5b505f546100dc9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561014c575f80fd5b506100a361028a565b6004805461016290610405565b80601f016020809104026020016040519081016040528092919081815260200182805461018e90610405565b80156101d95780601f106101b0576101008083540402835291602001916101d9565b820191905f5260205f20905b8154815290600101906020018083116101bc57829003601f168201915b505050505081565b5f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8916179055600186905560026102328587836104cf565b50600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905560046102808587836104cf565b5050505050505050565b6002805461016290610405565b5f602080835283518060208501525f5b818110156102c3578581018301518582016040015282016102a7565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610324575f80fd5b919050565b5f8083601f840112610339575f80fd5b50813567ffffffffffffffff811115610350575f80fd5b602083019150836020828501011115610367575f80fd5b9250929050565b5f805f805f805f60a0888a031215610384575f80fd5b61038d88610301565b965060208801359550604088013567ffffffffffffffff808211156103b0575f80fd5b6103bc8b838c01610329565b90975095508591506103d060608b01610301565b945060808a01359150808211156103e5575f80fd5b506103f28a828b01610329565b989b979a50959850939692959293505050565b600181811c9082168061041957607f821691505b602082108103610450577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b601f8211156104ca57805f5260205f20601f840160051c810160208510156104a85750805b601f840160051c820191505b818110156104c7575f81556001016104b4565b50505b505050565b67ffffffffffffffff8311156104e7576104e7610456565b6104fb836104f58354610405565b83610483565b5f601f84116001811461054b575f85156105155750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556104c7565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b828110156105985786850135825560209485019460019092019101610578565b50868210156105d3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b018355505050505056fea2646970667358221220b3a18565b6432cb13b75c67f41498da15ac32e1641ca2d2f0ffb7d30fd39455764736f6c63430008160033","sourceMap":"166:579:73:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;308:19;;;;;;;;;;;;;;;;;;;160:25:141;;;148:2;133:18;308:19:73;;;;;;;;388:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;359:23::-;;;;;;;;;;-1:-1:-1;359:23:73;;;;;;;;;;;982:42:141;970:55;;;952:74;;940:2;925:18;359:23:73;806:226:141;417:326:73;;;;;;:::i;:::-;;:::i;:::-;;283:19;;;;;;;;;;-1:-1:-1;283:19:73;;;;;;;;333:20;;;;;;;;;;;;;:::i;388:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;417:326::-;614:4;:12;;;;;;;;;;-1:-1:-1;636:12:73;;;658:7;:18;668:8;;658:7;:18;:::i;:::-;-1:-1:-1;686:8:73;:20;;;;;;;;;;716:9;:20;728:8;;716:9;:20;:::i;:::-;;417:326;;;;;;;:::o;333:20::-;;;;;;;:::i;196:605:141:-;306:4;335:2;364;353:9;346:21;396:6;390:13;439:6;434:2;423:9;419:18;412:34;464:1;474:140;488:6;485:1;482:13;474:140;;;583:14;;;579:23;;573:30;549:17;;;568:2;545:26;538:66;503:10;;474:140;;;478:3;663:1;658:2;649:6;638:9;634:22;630:31;623:42;792:2;722:66;717:2;709:6;705:15;701:88;690:9;686:104;682:113;674:121;;;;196:605;;;;:::o;1037:196::-;1105:20;;1165:42;1154:54;;1144:65;;1134:93;;1223:1;1220;1213:12;1134:93;1037:196;;;:::o;1238:347::-;1289:8;1299:6;1353:3;1346:4;1338:6;1334:17;1330:27;1320:55;;1371:1;1368;1361:12;1320:55;-1:-1:-1;1394:20:141;;1437:18;1426:30;;1423:50;;;1469:1;1466;1459:12;1423:50;1506:4;1498:6;1494:17;1482:29;;1558:3;1551:4;1542:6;1534;1530:19;1526:30;1523:39;1520:59;;;1575:1;1572;1565:12;1520:59;1238:347;;;;;:::o;1590:935::-;1707:6;1715;1723;1731;1739;1747;1755;1808:3;1796:9;1787:7;1783:23;1779:33;1776:53;;;1825:1;1822;1815:12;1776:53;1848:29;1867:9;1848:29;:::i;:::-;1838:39;;1924:2;1913:9;1909:18;1896:32;1886:42;;1979:2;1968:9;1964:18;1951:32;2002:18;2043:2;2035:6;2032:14;2029:34;;;2059:1;2056;2049:12;2029:34;2098:58;2148:7;2139:6;2128:9;2124:22;2098:58;:::i;:::-;2175:8;;-1:-1:-1;2072:84:141;-1:-1:-1;2072:84:141;;-1:-1:-1;2229:38:141;2263:2;2248:18;;2229:38;:::i;:::-;2219:48;;2320:3;2309:9;2305:19;2292:33;2276:49;;2350:2;2340:8;2337:16;2334:36;;;2366:1;2363;2356:12;2334:36;;2405:60;2457:7;2446:8;2435:9;2431:24;2405:60;:::i;:::-;1590:935;;;;-1:-1:-1;1590:935:141;;-1:-1:-1;1590:935:141;;;;2379:86;;-1:-1:-1;;;1590:935:141:o;2530:437::-;2609:1;2605:12;;;;2652;;;2673:61;;2727:4;2719:6;2715:17;2705:27;;2673:61;2780:2;2772:6;2769:14;2749:18;2746:38;2743:218;;2817:77;2814:1;2807:88;2918:4;2915:1;2908:15;2946:4;2943:1;2936:15;2743:218;;2530:437;;;:::o;2972:184::-;3024:77;3021:1;3014:88;3121:4;3118:1;3111:15;3145:4;3142:1;3135:15;3286:517;3387:2;3382:3;3379:11;3376:421;;;3423:5;3420:1;3413:16;3467:4;3464:1;3454:18;3537:2;3525:10;3521:19;3518:1;3514:27;3508:4;3504:38;3573:4;3561:10;3558:20;3555:47;;;-1:-1:-1;3596:4:141;3555:47;3651:2;3646:3;3642:12;3639:1;3635:20;3629:4;3625:31;3615:41;;3706:81;3724:2;3717:5;3714:13;3706:81;;;3783:1;3769:16;;3750:1;3739:13;3706:81;;;3710:3;;3376:421;3286:517;;;:::o;4039:1313::-;4161:18;4156:3;4153:27;4150:53;;;4183:18;;:::i;:::-;4212:93;4301:3;4261:38;4293:4;4287:11;4261:38;:::i;:::-;4255:4;4212:93;:::i;:::-;4331:1;4356:2;4351:3;4348:11;4373:1;4368:726;;;;5138:1;5155:3;5152:93;;;-1:-1:-1;5211:19:141;;;5198:33;5152:93;3945:66;3936:1;3932:11;;;3928:84;3924:89;3914:100;4020:1;4016:11;;;3911:117;5258:78;;4341:1005;;4368:726;3233:1;3226:14;;;3270:4;3257:18;;4413:66;4404:76;;;4577:229;4591:7;4588:1;4585:14;4577:229;;;4680:19;;;4667:33;4652:49;;4787:4;4772:20;;;;4740:1;4728:14;;;;4607:12;4577:229;;;4581:3;4834;4825:7;4822:16;4819:219;;;4954:66;4948:3;4942;4939:1;4935:11;4931:21;4927:94;4923:99;4910:9;4905:3;4901:19;4888:33;4884:139;4876:6;4869:155;4819:219;;;5081:1;5075:3;5072:1;5068:11;5064:19;5058:4;5051:33;4341:1005;;4039:1313;;;:::o","linkReferences":{}},"methodIdentifiers":{"executor()":"c34c08e5","extraData()":"609d3334","from()":"d5ce3389","guid()":"0ae6d46b","lzCompose(address,bytes32,bytes,address,bytes)":"d0a10260","message()":"e21f37ce"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"executor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"extraData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"from\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guid\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_guid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_executor\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lzCompose\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"message\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@layerzerolabs/oft-evm/test/mocks/OFTComposerMock.sol\":\"OFTComposerMock\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@layerzerolabs/=node_modules/@layerzerolabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/\",\":forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/\",\":solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/\"]},\"sources\":{\"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroComposer.sol\":{\"keccak256\":\"0xfaca7205d4211ee9208a7e59171e2301731f3d2a20c49b4a839821871f5fdd49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f254bc60ac26687b5320a43a556e30777b0745abf7cd64d5f4720d9b1d1f7fdf\",\"dweb:/ipfs/QmRSJEZVgxaC3L2DdE6s8P5qkYfM3V5JMeseeFJJqGR4xz\"]},\"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppComposer.sol\":{\"keccak256\":\"0xe5014c411acb2b59dd74ae74a1bab02cf32d94a41a548a5ab553d64aeeb55dae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29dfb7bc121002fc7e7931c34eb17af0ae0f0127dcc3199511c83a58a917160d\",\"dweb:/ipfs/QmPdq1wcRRBdUP169LHCLoLuPRunN9eR71TQN42FjGpowx\"]},\"node_modules/@layerzerolabs/oft-evm/test/mocks/OFTComposerMock.sol\":{\"keccak256\":\"0x9e3ca0772aa55c6352283e84d9062660f5e136c6a8c129051c00941f5bbec1f3\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://79ddb778928733c8a52ca6e4d79de24f8da935673f25c62f488627eb59bb97e6\",\"dweb:/ipfs/QmR6cga173tuHGpVSEFoZYN89mPK2WenuAWpT5XRxyaFjX\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.22+commit.4fc1097e"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"executor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"extraData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"from","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"guid","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function","name":"lzCompose"},{"inputs":[],"stateMutability":"view","type":"function","name":"message","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@layerzerolabs/=node_modules/@layerzerolabs/","@openzeppelin/=node_modules/@openzeppelin/","ds-test/=node_modules/@layerzerolabs/toolbox-foundry/lib/ds-test/","forge-std/=node_modules/@layerzerolabs/toolbox-foundry/lib/forge-std/","solidity-bytes-utils/contracts/=node_modules/@layerzerolabs/toolbox-foundry/lib/solidity-bytes-utils/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@layerzerolabs/oft-evm/test/mocks/OFTComposerMock.sol":"OFTComposerMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroComposer.sol":{"keccak256":"0xfaca7205d4211ee9208a7e59171e2301731f3d2a20c49b4a839821871f5fdd49","urls":["bzz-raw://f254bc60ac26687b5320a43a556e30777b0745abf7cd64d5f4720d9b1d1f7fdf","dweb:/ipfs/QmRSJEZVgxaC3L2DdE6s8P5qkYfM3V5JMeseeFJJqGR4xz"],"license":"MIT"},"node_modules/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppComposer.sol":{"keccak256":"0xe5014c411acb2b59dd74ae74a1bab02cf32d94a41a548a5ab553d64aeeb55dae","urls":["bzz-raw://29dfb7bc121002fc7e7931c34eb17af0ae0f0127dcc3199511c83a58a917160d","dweb:/ipfs/QmPdq1wcRRBdUP169LHCLoLuPRunN9eR71TQN42FjGpowx"],"license":"MIT"},"node_modules/@layerzerolabs/oft-evm/test/mocks/OFTComposerMock.sol":{"keccak256":"0x9e3ca0772aa55c6352283e84d9062660f5e136c6a8c129051c00941f5bbec1f3","urls":["bzz-raw://79ddb778928733c8a52ca6e4d79de24f8da935673f25c62f488627eb59bb97e6","dweb:/ipfs/QmR6cga173tuHGpVSEFoZYN89mPK2WenuAWpT5XRxyaFjX"],"license":"UNLICENSED"}},"version":1},"id":73}