-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add contract calls utilizing Cadence arch precompiles
- Loading branch information
Showing
3 changed files
with
32 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
60806040526105395f81905550611326806100195f395ff3fe608060405234801561000f575f80fd5b5060043610610114575f3560e01c8063911007b4116100a0578063c550f90f1161006f578063c550f90f146102ba578063cbaff5f9146102d8578063d0d250bd146102e2578063dda3a7bd14610300578063ea8d8ccf1461030a57610114565b8063911007b41461021e5780639967062d1461024e578063adc879e91461027e578063b2821c8f1461029c57610114565b80635ec01e4d116100e75780635ec01e4d1461018e5780636057361d146101ac5780636babb224146101c857806383197ef0146101e457806385df51fd146101ee57610114565b80632e64cec11461011857806348b15166146101365780634cbefa6a1461015457806357e871e714610170575b5f80fd5b61012061033a565b60405161012d9190610a63565b60405180910390f35b61013e610342565b60405161014b9190610a63565b60405180910390f35b61016e60048036038101906101699190610ab7565b610349565b005b610178610352565b6040516101859190610a63565b60405180910390f35b610196610359565b6040516101a39190610a63565b60405180910390f35b6101c660048036038101906101c19190610ab7565b610360565b005b6101e260048036038101906101dd9190610ab7565b610369565b005b6101ec6103b6565b005b61020860048036038101906102039190610ab7565b6103cf565b6040516102159190610afa565b60405180910390f35b61023860048036038101906102339190610b50565b6103d9565b6040516102459190610afa565b60405180910390f35b61026860048036038101906102639190610bae565b61053b565b6040516102759190610bfb565b60405180910390f35b6102866105a5565b6040516102939190610a63565b60405180910390f35b6102a46105ac565b6040516102b19190610c23565b60405180910390f35b6102c2610701565b6040516102cf9190610c23565b60405180910390f35b6102e0610856565b005b6102ea610898565b6040516102f79190610c7b565b60405180910390f35b6103086108a5565b005b610324600480360381019061031f9190610e24565b6108e3565b6040516103319190610eaa565b60405180910390f35b5f8054905090565b5f42905090565b805f8190555f80fd5b5f43905090565b5f44905090565b805f8190555050565b803373ffffffffffffffffffffffffffffffffffffffff167f043cc306157a91d747b36aba0e235bbbc5771d75aba162f6e5540767d22673c660405160405180910390a3805f8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16ff5b5f81409050919050565b5f805f6801000000000000000173ffffffffffffffffffffffffffffffffffffffff168460405160240161040d9190610c23565b6040516020818303038152906040527f78a75fbe000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516104979190610f15565b5f60405180830381855afa9150503d805f81146104cf576040519150601f19603f3d011682016040523d82523d5f602084013e6104d4565b606091505b509150915081610519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051090610f85565b60405180910390fd5b5f8180602001905181019061052e9190610fb7565b9050809350505050919050565b5f808284610549919061100f565b905082843373ffffffffffffffffffffffffffffffffffffffff167f76efea95e5da1fa661f235b2921ae1d89b99e457ec73fb88e34a1d150f95c64b846040516105939190610bfb565b60405180910390a48091505092915050565b5f46905090565b5f805f6801000000000000000173ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f705fab20000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161065f9190610f15565b5f60405180830381855afa9150503d805f8114610697576040519150601f19603f3d011682016040523d82523d5f602084013e61069c565b606091505b5091509150816106e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d89061109a565b60405180910390fd5b5f818060200190518101906106f691906110cc565b905080935050505090565b5f805f6801000000000000000173ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f53e87d66000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107b49190610f15565b5f60405180830381855afa9150503d805f81146107ec576040519150601f19603f3d011682016040523d82523d5f602084013e6107f1565b606091505b509150915081610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082d90610f85565b60405180910390fd5b5f8180602001905181019061084b91906110cc565b905080935050505090565b5f610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90611141565b60405180910390fd5b565b6801000000000000000181565b60056040517f9195785a0000000000000000000000000000000000000000000000000000000081526004016108da91906111eb565b60405180910390fd5b5f805f6801000000000000000173ffffffffffffffffffffffffffffffffffffffff1686868660405160240161091b9392919061125f565b6040516020818303038152906040527f5ee837e7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516109a59190610f15565b5f60405180830381855afa9150503d805f81146109dd576040519150601f19603f3d011682016040523d82523d5f602084013e6109e2565b606091505b509150915081610a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1e9061109a565b60405180910390fd5b5f81806020019051810190610a3c91906112c5565b90508093505050509392505050565b5f819050919050565b610a5d81610a4b565b82525050565b5f602082019050610a765f830184610a54565b92915050565b5f604051905090565b5f80fd5b5f80fd5b610a9681610a4b565b8114610aa0575f80fd5b50565b5f81359050610ab181610a8d565b92915050565b5f60208284031215610acc57610acb610a85565b5b5f610ad984828501610aa3565b91505092915050565b5f819050919050565b610af481610ae2565b82525050565b5f602082019050610b0d5f830184610aeb565b92915050565b5f67ffffffffffffffff82169050919050565b610b2f81610b13565b8114610b39575f80fd5b50565b5f81359050610b4a81610b26565b92915050565b5f60208284031215610b6557610b64610a85565b5b5f610b7284828501610b3c565b91505092915050565b5f819050919050565b610b8d81610b7b565b8114610b97575f80fd5b50565b5f81359050610ba881610b84565b92915050565b5f8060408385031215610bc457610bc3610a85565b5b5f610bd185828601610b9a565b9250506020610be285828601610b9a565b9150509250929050565b610bf581610b7b565b82525050565b5f602082019050610c0e5f830184610bec565b92915050565b610c1d81610b13565b82525050565b5f602082019050610c365f830184610c14565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610c6582610c3c565b9050919050565b610c7581610c5b565b82525050565b5f602082019050610c8e5f830184610c6c565b92915050565b610c9d81610c5b565b8114610ca7575f80fd5b50565b5f81359050610cb881610c94565b92915050565b610cc781610ae2565b8114610cd1575f80fd5b50565b5f81359050610ce281610cbe565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610d3682610cf0565b810181811067ffffffffffffffff82111715610d5557610d54610d00565b5b80604052505050565b5f610d67610a7c565b9050610d738282610d2d565b919050565b5f67ffffffffffffffff821115610d9257610d91610d00565b5b610d9b82610cf0565b9050602081019050919050565b828183375f83830152505050565b5f610dc8610dc384610d78565b610d5e565b905082815260208101848484011115610de457610de3610cec565b5b610def848285610da8565b509392505050565b5f82601f830112610e0b57610e0a610ce8565b5b8135610e1b848260208601610db6565b91505092915050565b5f805f60608486031215610e3b57610e3a610a85565b5b5f610e4886828701610caa565b9350506020610e5986828701610cd4565b925050604084013567ffffffffffffffff811115610e7a57610e79610a89565b5b610e8686828701610df7565b9150509250925092565b5f8115159050919050565b610ea481610e90565b82525050565b5f602082019050610ebd5f830184610e9b565b92915050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f610eef82610ec3565b610ef98185610ecd565b9350610f09818560208601610ed7565b80840191505092915050565b5f610f208284610ee5565b915081905092915050565b5f82825260208201905092915050565b7f756e7375636365737366756c2063616c6c20746f2061726368200000000000005f82015250565b5f610f6f601a83610f2b565b9150610f7a82610f3b565b602082019050919050565b5f6020820190508181035f830152610f9c81610f63565b9050919050565b5f81519050610fb181610cbe565b92915050565b5f60208284031215610fcc57610fcb610a85565b5b5f610fd984828501610fa3565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61101982610b7b565b915061102483610b7b565b92508282019050828112155f8312168382125f84121516171561104a57611049610fe2565b5b92915050565b7f756e7375636365737366756c2063616c6c20746f2061726368000000000000005f82015250565b5f611084601983610f2b565b915061108f82611050565b602082019050919050565b5f6020820190508181035f8301526110b181611078565b9050919050565b5f815190506110c681610b26565b92915050565b5f602082840312156110e1576110e0610a85565b5b5f6110ee848285016110b8565b91505092915050565b7f417373657274204572726f72204d6573736167650000000000000000000000005f82015250565b5f61112b601483610f2b565b9150611136826110f7565b602082019050919050565b5f6020820190508181035f8301526111588161111f565b9050919050565b5f819050919050565b5f819050919050565b5f61118b6111866111818461115f565b611168565b610a4b565b9050919050565b61119b81611171565b82525050565b7f56616c756520697320746f6f206c6f77000000000000000000000000000000005f82015250565b5f6111d5601083610f2b565b91506111e0826111a1565b602082019050919050565b5f6040820190506111fe5f830184611192565b818103602083015261120f816111c9565b905092915050565b5f82825260208201905092915050565b5f61123182610ec3565b61123b8185611217565b935061124b818560208601610ed7565b61125481610cf0565b840191505092915050565b5f6060820190506112725f830186610c6c565b61127f6020830185610aeb565b81810360408301526112918184611227565b9050949350505050565b6112a481610e90565b81146112ae575f80fd5b50565b5f815190506112bf8161129b565b92915050565b5f602082840312156112da576112d9610a85565b5b5f6112e7848285016112b1565b9150509291505056fea26469706673582212201953cdbb7aa51a182c86915912e3c3941aebaa7cd05f160456efd5338f950bff64736f6c634300081a0033 | ||
60806040526105395f81905550611326806100195f395ff3fe608060405234801561000f575f80fd5b5060043610610114575f3560e01c8063911007b4116100a0578063c550f90f1161006f578063c550f90f146102ba578063cbaff5f9146102d8578063d0d250bd146102e2578063dda3a7bd14610300578063ea8d8ccf1461030a57610114565b8063911007b41461021e5780639967062d1461024e578063adc879e91461027e578063b2821c8f1461029c57610114565b80635ec01e4d116100e75780635ec01e4d1461018e5780636057361d146101ac5780636babb224146101c857806383197ef0146101e457806385df51fd146101ee57610114565b80632e64cec11461011857806348b15166146101365780634cbefa6a1461015457806357e871e714610170575b5f80fd5b61012061033a565b60405161012d9190610a63565b60405180910390f35b61013e610342565b60405161014b9190610a63565b60405180910390f35b61016e60048036038101906101699190610ab7565b610349565b005b610178610352565b6040516101859190610a63565b60405180910390f35b610196610359565b6040516101a39190610a63565b60405180910390f35b6101c660048036038101906101c19190610ab7565b610360565b005b6101e260048036038101906101dd9190610ab7565b610369565b005b6101ec6103b6565b005b61020860048036038101906102039190610ab7565b6103cf565b6040516102159190610afa565b60405180910390f35b61023860048036038101906102339190610b50565b6103d9565b6040516102459190610afa565b60405180910390f35b61026860048036038101906102639190610bae565b61053b565b6040516102759190610bfb565b60405180910390f35b6102866105a5565b6040516102939190610a63565b60405180910390f35b6102a46105ac565b6040516102b19190610c23565b60405180910390f35b6102c2610701565b6040516102cf9190610c23565b60405180910390f35b6102e0610856565b005b6102ea610898565b6040516102f79190610c7b565b60405180910390f35b6103086108a5565b005b610324600480360381019061031f9190610e24565b6108e3565b6040516103319190610eaa565b60405180910390f35b5f8054905090565b5f42905090565b805f8190555f80fd5b5f43905090565b5f44905090565b805f8190555050565b803373ffffffffffffffffffffffffffffffffffffffff167f043cc306157a91d747b36aba0e235bbbc5771d75aba162f6e5540767d22673c660405160405180910390a3805f8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16ff5b5f81409050919050565b5f805f6801000000000000000173ffffffffffffffffffffffffffffffffffffffff168460405160240161040d9190610c23565b6040516020818303038152906040527f78a75fbe000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516104979190610f15565b5f60405180830381855afa9150503d805f81146104cf576040519150601f19603f3d011682016040523d82523d5f602084013e6104d4565b606091505b509150915081610519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051090610f85565b60405180910390fd5b5f8180602001905181019061052e9190610fb7565b9050809350505050919050565b5f808284610549919061100f565b905082843373ffffffffffffffffffffffffffffffffffffffff167f76efea95e5da1fa661f235b2921ae1d89b99e457ec73fb88e34a1d150f95c64b846040516105939190610bfb565b60405180910390a48091505092915050565b5f46905090565b5f805f6801000000000000000173ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f705fab20000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161065f9190610f15565b5f60405180830381855afa9150503d805f8114610697576040519150601f19603f3d011682016040523d82523d5f602084013e61069c565b606091505b5091509150816106e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d89061109a565b60405180910390fd5b5f818060200190518101906106f691906110cc565b905080935050505090565b5f805f6801000000000000000173ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f53e87d66000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516107b49190610f15565b5f60405180830381855afa9150503d805f81146107ec576040519150601f19603f3d011682016040523d82523d5f602084013e6107f1565b606091505b509150915081610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082d90610f85565b60405180910390fd5b5f8180602001905181019061084b91906110cc565b905080935050505090565b5f610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90611141565b60405180910390fd5b565b6801000000000000000181565b60056040517f9195785a0000000000000000000000000000000000000000000000000000000081526004016108da91906111eb565b60405180910390fd5b5f805f6801000000000000000173ffffffffffffffffffffffffffffffffffffffff1686868660405160240161091b9392919061125f565b6040516020818303038152906040527f5ee837e7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516109a59190610f15565b5f60405180830381855afa9150503d805f81146109dd576040519150601f19603f3d011682016040523d82523d5f602084013e6109e2565b606091505b509150915081610a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1e9061109a565b60405180910390fd5b5f81806020019051810190610a3c91906112c5565b90508093505050509392505050565b5f819050919050565b610a5d81610a4b565b82525050565b5f602082019050610a765f830184610a54565b92915050565b5f604051905090565b5f80fd5b5f80fd5b610a9681610a4b565b8114610aa0575f80fd5b50565b5f81359050610ab181610a8d565b92915050565b5f60208284031215610acc57610acb610a85565b5b5f610ad984828501610aa3565b91505092915050565b5f819050919050565b610af481610ae2565b82525050565b5f602082019050610b0d5f830184610aeb565b92915050565b5f67ffffffffffffffff82169050919050565b610b2f81610b13565b8114610b39575f80fd5b50565b5f81359050610b4a81610b26565b92915050565b5f60208284031215610b6557610b64610a85565b5b5f610b7284828501610b3c565b91505092915050565b5f819050919050565b610b8d81610b7b565b8114610b97575f80fd5b50565b5f81359050610ba881610b84565b92915050565b5f8060408385031215610bc457610bc3610a85565b5b5f610bd185828601610b9a565b9250506020610be285828601610b9a565b9150509250929050565b610bf581610b7b565b82525050565b5f602082019050610c0e5f830184610bec565b92915050565b610c1d81610b13565b82525050565b5f602082019050610c365f830184610c14565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610c6582610c3c565b9050919050565b610c7581610c5b565b82525050565b5f602082019050610c8e5f830184610c6c565b92915050565b610c9d81610c5b565b8114610ca7575f80fd5b50565b5f81359050610cb881610c94565b92915050565b610cc781610ae2565b8114610cd1575f80fd5b50565b5f81359050610ce281610cbe565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610d3682610cf0565b810181811067ffffffffffffffff82111715610d5557610d54610d00565b5b80604052505050565b5f610d67610a7c565b9050610d738282610d2d565b919050565b5f67ffffffffffffffff821115610d9257610d91610d00565b5b610d9b82610cf0565b9050602081019050919050565b828183375f83830152505050565b5f610dc8610dc384610d78565b610d5e565b905082815260208101848484011115610de457610de3610cec565b5b610def848285610da8565b509392505050565b5f82601f830112610e0b57610e0a610ce8565b5b8135610e1b848260208601610db6565b91505092915050565b5f805f60608486031215610e3b57610e3a610a85565b5b5f610e4886828701610caa565b9350506020610e5986828701610cd4565b925050604084013567ffffffffffffffff811115610e7a57610e79610a89565b5b610e8686828701610df7565b9150509250925092565b5f8115159050919050565b610ea481610e90565b82525050565b5f602082019050610ebd5f830184610e9b565b92915050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f610eef82610ec3565b610ef98185610ecd565b9350610f09818560208601610ed7565b80840191505092915050565b5f610f208284610ee5565b915081905092915050565b5f82825260208201905092915050565b7f756e7375636365737366756c2063616c6c20746f2061726368200000000000005f82015250565b5f610f6f601a83610f2b565b9150610f7a82610f3b565b602082019050919050565b5f6020820190508181035f830152610f9c81610f63565b9050919050565b5f81519050610fb181610cbe565b92915050565b5f60208284031215610fcc57610fcb610a85565b5b5f610fd984828501610fa3565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61101982610b7b565b915061102483610b7b565b92508282019050828112155f8312168382125f84121516171561104a57611049610fe2565b5b92915050565b7f756e7375636365737366756c2063616c6c20746f2061726368000000000000005f82015250565b5f611084601983610f2b565b915061108f82611050565b602082019050919050565b5f6020820190508181035f8301526110b181611078565b9050919050565b5f815190506110c681610b26565b92915050565b5f602082840312156110e1576110e0610a85565b5b5f6110ee848285016110b8565b91505092915050565b7f417373657274204572726f72204d6573736167650000000000000000000000005f82015250565b5f61112b601483610f2b565b9150611136826110f7565b602082019050919050565b5f6020820190508181035f8301526111588161111f565b9050919050565b5f819050919050565b5f819050919050565b5f61118b6111866111818461115f565b611168565b610a4b565b9050919050565b61119b81611171565b82525050565b7f56616c756520697320746f6f206c6f77000000000000000000000000000000005f82015250565b5f6111d5601083610f2b565b91506111e0826111a1565b602082019050919050565b5f6040820190506111fe5f830184611192565b818103602083015261120f816111c9565b905092915050565b5f82825260208201905092915050565b5f61123182610ec3565b61123b8185611217565b935061124b818560208601610ed7565b61125481610cf0565b840191505092915050565b5f6060820190506112725f830186610c6c565b61127f6020830185610aeb565b81810360408301526112918184611227565b9050949350505050565b6112a481610e90565b81146112ae575f80fd5b50565b5f815190506112bf8161129b565b92915050565b5f602082840312156112da576112d9610a85565b5b5f6112e7848285016112b1565b9150509291505056fea26469706673582212203b936902323e60d2e9997e4d5c9b8feb664f99fe5d425c9a1a4830dd36cc92fa64736f6c634300081a0033 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -99,4 +99,4 @@ contract Storage { | |
bool output = abi.decode(data, (bool)); | ||
return output; | ||
} | ||
} | ||
} |
Oops, something went wrong.